加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver去重复数据

发布时间:2020-12-12 13:29:59 所属栏目:MsSql教程 来源:网络整理
导读:在数据库的使用中,我们经常会遇到需要去重或者查找重复数据的情况,二这些情况不外乎两种类型,一种是数据完全重复,另一种是某一个或者几个属性不相同。对于数据全部重复的情况,我们可以直接使用distinct去去重 例如:select ?distinct * from tableName;

在数据库的使用中,我们经常会遇到需要去重或者查找重复数据的情况,二这些情况不外乎两种类型,一种是数据完全重复,另一种是某一个或者几个属性不相同。对于数据全部重复的情况,我们可以直接使用distinct去去重

例如:select ?distinct * from tableName;

其结果集便是去掉重复数据

对于某一个或者几个属性重复,

比如现在有一人员表? (表名:peosons)?
若想将姓名、身份证号、住址这三个字段完全相同的记录查询出来??


select?? p1.*?? from?? persons?? p1,persons?? p2?? where?? p1.id<>p2.id?? and?? p1.cardid?? =?? p2.cardid?? and?? p1.pname?? =?? p2.pname?? and?? p1.address?? =?? p2.address

?

也可以

Select * From?表 Where?重复字段 In (Select 重复字段 From 表 Group By 重复字段 Having Count(*)>1),

当然distinct也是可以的,比如table 表中name有重复数据

则可以如下处理

select *,count(name) from table group by name

这样结果集会多出来一列,但是这一列不去管它便可

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读