1.1 查询
1.1.1 存在部分字段相同的纪录,即有唯一键主键ID
最常见情况如果是这种情况的话用distinct是过滤不了的,这就要用到主键id的唯一性特点及group by分组
select * from table where id in (select max(id) from table group by [去除重复的字段名列表,....])
1.1.2 存在两条完全相同的记录用关键字distinct就可以去掉
select distinct id(某一列) from table(表名) where (条件)
1.1.3 查找表中不含重复的数据,根据单个字段(id)来判断
select * from table where id in (select id from table group by id having count (id) >1)
1.1.4 查找表中重复的数据,根据单个字段(id)来判断
select * from table where id not in (select id from table group by id having count (id) >1)
1.1.5 查询全部的重复信息
select * from people where id not in (select min(id) from people group by name,sex HAVING COUNT(*) <2)
1.1.6 查询全部的重复信息
select * from table where id not in (select MIN(id) from table group by name,sex)
1.1.7 删除多余重复的信息,只保留最小ID
delete from table where id not in(select MIN(id) from table group by name,sex)
使用count和distinct(去重)关键字可以查看数据库某列是否有重复项。例如:
selectcount(discinct(colunmname))fromtable_name
如果上述查询统计结果大于count(colunmname),则代表这一列有重复项。
扩展资料
SQLSELECTDISTINCT语句用法介绍:
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。
关键词DISTINCT用于返回唯一不同的值。
语法:
SELECTDISTINCT列名称FROM表名称
使用DISTINCT关键词,例如要从"Company"列中选取所有的值,我们需要使用SELECT语句:
SELECTCompanyFROMOrders
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)