【发布时间】:2012-08-08 09:05:35
【问题描述】:
我在 SO 上看到了一些类似类型的问题,但是,我无法找到针对我的具体问题的解决方案。 (仅供参考,这些不是我真正的专栏,只是一个简短的例子)。
我有一张基本表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 | <=== I would like to return this row |
| 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
但这不会返回我正在寻找的行。修复此查询的任何帮助都会很棒。
非常感谢。
【问题讨论】: