我在 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
但这不会返回我正在寻找的行。修复此查询的任何帮助都会很棒。
非常感谢。