1--DISTINCT的使用
DISTINCT只适用于两条数据完全相同的情况下,且数据量大时效率极低
SELECT DISTINCT * FROM 表名
2--分组查询方式
--查询多字段所有重复数据重复次数
select * from (select 字段1,字段2,字段3,count(1) from 表名 group by (字段1,字段2,字段3) having count(*) > 1)
{ count(*) = 1 时查询结果为所有不重复数据}
3--单表子查询方式
--查询所有去掉id最大的之后的重复数据(即如果要删除重复的话,删除一下查询结果的所有数据即可)
select t1.* from 表名 t1 where rowid not in (select max(rowid)
from 表名 t2 where t1.字段1=t2.字段1 and t1.字段2=t2.字段2 and t1.字段3=t2.字段3)
--删除所有重复数据,重复数据保留一条id最大的(即数据库中保留不重复的和重复的id最大的一条)
delete from (select t1.* from 表名 t1 where rowid not in
(select max(rowid) from 表名 t2 where t1.字段1=t2.字段1 and t1.字段2=t2.字段2
and t1.字段3=t2.字段3))