SQL查找具有最大日期的项目

时间:2019-06-20 01:16:28

标签: sql

我有下表:

uid   |     name     |   date
------+--------------+-------------
100   | Sergey       | 2007-07-17
2     | Alexey A.    | 2019-06-20
100   | Sergey A.    | 2017-05-13
2     | Alexey       | 2016-05-03

如您所见,每个名称都有唯一的ID,但名称字段不同。我想要的是找到具有相同uid的字段,采用日期较大的字段并将其写入结果。结果应如下所示:

uid   |     name     |   date
------+--------------+-------------
2     | Alexey A.    | 2019-06-20
100   | Sergey A.    | 2017-05-13

我知道我应该使用SQL的基本方法,例如group by,max等,但这对我来说有点复杂。谢谢您的帮助

1 个答案:

答案 0 :(得分:2)

您可以简单地使用相关子查询:

select t.*
from t
where t.date = (select max(t2.date)
                from t t2
                where t2.uid = t.uid
               );