1、查找表中重复数据,重复数据以单个字段(title)为标识
select id,title from t_article
where title in (
select title from (
select title as title from t_article
group by title having count(title) > 1
) as title
)
order by title
2、删除表中多余的重复数据,重复数据以单个字段(title)为标识,只留有id最小的数据
delete from t_article
where title in (
select title from (
select title as title from t_article
group by title having count(title) > 1
) as title
)
and id not in (
select id from (
select min(id) as id from t_article t group by title having count(title) > 1
) as id
);
3、查找表中重复数据,重复数据以(title,source)多个字段为标识
select id,title,source,upload_time from t_article
where (title,source) in (
select title,source from t_article
group by title,source having count(*) > 1
)
order by title
4、删除表中多余的重复数据,重复数据以(title,source)多个字段为标识,只留有id最小的数据
delete from t_article
where id in (
select id from (
select id from t_article
where (title,source) in (
select title,source from t_article
group by title,source having count(*) > 1
)
and id not in (
select id from (
select min(id) as id from t_article
group by title,source having count(*) > 1
) as id
)
)as id
)