问题描述:
遇到了比较复杂的数据处理,需要按照email先分组,然后看组内谁的更新时间最近,进行保留,其他的删掉
- 1、第一步:通过时间排序,并将id拼接起来 ,截取第一个id,(也就是最新的一条id)
select SUBSTRING_INDEX(group_concat( id order by update_date desc),‘,’,1) from sys_user_lssf2 group by email;
这条语句把时间最近的email对应的id号摘出来了
- 2第二步:根据id号吧数据摘出来
select id from sys_user_lssf2 as t
where t.id in(select SUBSTRING_INDEX(group_concat( id order by update_date desc),‘,’,1) from sys_user_lssf2 group by email)