我有一张如下图所示的表格,我需要提取已按名称分组的最大日期时间的ID,名称和日期。
我可以通过此查询获得最大日期时间:
SELECT MAX(Table.Date),Table.name FROM Table GROUP BY Table.name
结果是:
要提取已按名称分组的最大日期时间信息,我已经有了这个查询:
SELECT t1.name, t1.Date, t1.id
FROM Table t1
WHERE t1.Date in (SELECT MAX(t2.Date)
FROM Table t2
GROUP BY t2.name)
结果是:
但不需要突出显示的数据。因为'D'是2014-01-12之间的最大日期。
注意:我可以通过JOIN表达式解决问题。
但由于节省时间,我需要一个简单的查询。
答案 0 :(得分:0)
您可以使用行号,按
分区Select * from
(Select *,rn=row_number()over(partition by name order by date desc) from table) x
Where x.rn = 1;