SO で同様のタイプの質問を見たことがありますが、特定の問題の解決策を見つけることができませんでした。(参考までに、これらは私の実際のコラムではなく、短縮された例です)。
私は基本的なテーブルを持っています my_table
:
ユーザー_1 | ユーザー_2 | タイムスタンプ | 注(表の一部ではありません) |
---|---|---|---|
23 | 25 | 2012-08-10 22:00:00 | |
24 | 22 | 2012-08-10 19:00:00 | <=== この行を返したい |
24 | 22 | 2012-08-10 17:00:00 | |
21 | 17 | 2012-08-10 15:00:00 |
だから、私がやりたいことは、次のことができるようにすることです:
1) Select the "newest" row, based on timestamp AND
2) Select the 'user_2' column when given a value.
私は次のようなことを試しました:
SELECT *
FROM my_table
WHERE user_2 = 22
AND timestamp = (
SELECT MAX( timestamp )
FROM my_table )
LIMIT 1
しかし、これは私が探している行を返しません。このクエリの修正に関するヘルプは素晴らしいでしょう。
どうもありがとう。