mysql分组排序取时间最近的第一条

 起因:  需要对一张表数据进行分组排序,取不同设备最新的一条更新记录,那么问题来了, 表数据经过简单Group By 之后,所获取到的  数据与期望数据不一致,

mysql分组排序取时间最近的第一条

如图取不同vem_id的最新一次的更新数据,常规group by 无法解决数据错乱问题.

解决: group by 的用法还有不清楚的自行百度 , 说说我的解决方法,先按照时间对表数据按时间排序,然后进行分组,从前往后写不好写,那么逆向思维,从后往前写 ,先按照时间排序,然后在group by , 解决数据错乱问题

 sql :   select * from (select * from lenovo_inventory_record where vem_id in ('VEM000004','VEM000005') ORDER BY check_time DESC) d GROUP BY d.vem_id ;

结果:  

mysql分组排序取时间最近的第一条