起因: 需要对一张表数据进行分组排序,取不同设备最新的一条更新记录,那么问题来了, 表数据经过简单Group By 之后,所获取到的 数据与期望数据不一致,
如图取不同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 ;
结果: