今天根据客户绣球要求写一条sql,在该SQL中先进行多分组,分完组后发现同一个人下面会有多条数据(其他字段中的值不一样),我要写的是一个统计报表,自后与业务商量要求取最新的一条;下面就把sql简单的思路和大家分享下:
select * from test as a
where time= (
select max(b.time) from test as b
where a.data_id = b.data_id );
此处time就是用来区分是不是最近的数据,最大的那条就是某个人最新的数据,这样就完美的把遇到的问题解决掉了。下图是测试时候用的数据: