MySQL有两条以上重复数据时只保留一条
当一个字段有多条重复数据时,只想筛选出其中的一条,语句如下:
select * from alert_message where id in
( select id from
(select max(id) as id,count(node_id) as count from alert_message group by node_id having count >1
) as a
) ORDER BY addtime
注:node_id是有多条重复数据的字段名。
解释
先按照字段node_id分组,取重复数据条数大于1的,然后获取其中的id列表,然后根据id列表获取数据。