我有下表:
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等,但这对我来说有点复杂。谢谢您的帮助
答案 0 :(得分:2)
您可以简单地使用相关子查询:
select t.*
from t
where t.date = (select max(t2.date)
from t t2
where t2.uid = t.uid
);