我有一张 table :
id|val|updated
1 | 31|2012-01-12
1 | 34|2012-01-15
2 | 41|2012-01-15
3 | 44|2012-01-15
4 | 66|2012-01-01
我需要选择具有最大更新值的 id 和 val。
所以对于这个表结果应该是:
1| 34| 2012-01-15
2| 41| 2012-01-15
3| 44| 2012-01-15
4| 66| 2012-01-01
最佳答案
这需要一个 MAX()
聚合在与主表相连的子查询中。
SELECT
tbl.id,
tbl.val,
tbl.updated
FROM tbl JOIN (
/* Subquery gets MAX(updated) per id to JOIN against */
SELECT
id,
MAX(updated) as updated
FROM tbl
GROUP BY id
) t2 ON tbl.id = t2.id AND tbl.updated = t2.updated
关于sql - 选择具有最大时间戳的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9317597/