我有这样的表:
type | date | id
-----------------------------
1 | 2012-01-01 | 1
2 | 2012-01-01 | 2
1 | 2012-02-02 | 3
2 | 2012-02-02 | 4
我需要构建查询来选择所有“最新”的不同类型值(在本例中,它将是 id 为 3 和 4 的记录)。现在我有这个解决方案:
select * from test t1 where date =
(select max(date) from test t2 where t2.type = t1.type ) order by type, date desc
我对嵌套选择的存在感到尴尬,也许有更优雅的解决方案?