【发布时间】:2010-01-13 04:09:46
【问题描述】:
我得到了包含以下字段的表:id、foreign_key、created、modified
这是一个记录我的程序的一部分更改的表。我想要的是检索按外键分组的最新日志。我该怎么做?
编辑: 总结一下,我如何在分组之前先订购?
【问题讨论】:
我得到了包含以下字段的表:id、foreign_key、created、modified
这是一个记录我的程序的一部分更改的表。我想要的是检索按外键分组的最新日志。我该怎么做?
编辑: 总结一下,我如何在分组之前先订购?
【问题讨论】:
SELECT ... GROUP BY ... HAVING MAX(modified)
【讨论】:
不相关子查询:
SELECT t.*
, a.*
FROM mytable t
INNER JOIN
(select b.foreign_key
, max(b.modified) as max_modified
from mytable b
group by 1) a
ON a.foreign_key = t.foreign_key
AND a.max_modified = t.modified
【讨论】: