数据库sql去重

数据库sql去重,第1张

1 去重

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9398911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存