Sql语句处理分组后某人还有多条数据思路

 今天根据客户绣球要求写一条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就是用来区分是不是最近的数据,最大的那条就是某个人最新的数据,这样就完美的把遇到的问题解决掉了。下图是测试时候用的数据:

Sql语句处理分组后某人还有多条数据思路
图二

 

Sql语句处理分组后某人还有多条数据思路
图二