我在SO上看到了一些类似的问题,但是我没有找到解决我的特定问题的方法。(FYI,这些不是我的真实列,只是一个缩短的例子)。
我有一个基本表my_table
:
user_1 | user_2 | timestamp | note(not part of table) |
---|---|---|---|
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
但是这个查询没有返回我要找的行。对于修复这个查询的任何帮助都将不胜感激。
非常感谢。