有这样一张T桌:
ID DateTime asha
AF35 15-01-17 af
AF35 14-01-17 la
AF35 13-01-17 fi
DF57 15-01-17 sk
DF57 14-01-17 sj
DG36 15-01-17 be
DG36 14-01-17 dh
什么是最简单的mysql
查询,对于每个返回的唯一ID
,只有第一行,由最近的DateTime
命令。
预期的结果会是这样的:
ID DateTime asha
AF35 15-01-17 af
DF57 15-01-17 sk
DG36 15-01-17 be
但是,我尝试了SELECT * FROM T GROUP BY ID ORDER BY DateTime
,但是mysql返回一个错误,因为它没有将其他列添加到子句中。如果我把它们加起来,我仍然会得到ID的重复结果。
发布于 2017-03-03 10:56:55
我最喜欢的编写此查询的方法是使用子句:
select *
from T as t1
where not exists (
select 1
from T as t2
where t2.ID = t1.ID
and t2.DateTime > t1.DateTime
)
发布于 2017-03-03 11:00:19
按ID顺序从T组中选择Distinct(ID),DateTime,DateTime
对唯一的Id记录使用上述查询。
https://stackoverflow.com/questions/42586387
复制相似问题