当前位置:Gxlcms > 数据库问题 > sql Server 重复数据的查询,删除

sql Server 重复数据的查询,删除

时间:2021-07-01 10:21:17 帮助过:3人阅读

Name FROM dbo.Member t WHERE Name IN (SELECT Name FROM dbo.Member GROUP BY Name HAVING COUNT(Name)>1 ) ORDER BY t.Name

查询结果:

技术分享

(2)查询某一列不重复的记录

语句:

SELECT * FROM dbo.Member WHERE ID  IN (SELECT MIN(ID) FROM dbo.Member GROUP BY Name)

查询结果:

技术分享

(3)清除某一列重复的数据

语句:

 DELETE FROM dbo.Member WHERE ID NOT IN (SELECT MIN(ID) FROM dbo.Member GROUP BY Name)

执行结果:

技术分享

解释:上面的例子只保存了各自Name的最小值。

二,DISTINCT 的用法
温馨提醒:
不支持多列统计
Oracle和DB2数据库也适用

利用distinct关键字返回唯一不同的值

(1)查询某一列不重复数据

语句:

  SELECT DISTINCT Name FROM dbo.Member

结果集:

技术分享

(2)DISTINCT 查询多列不重复(如果查询的列有任何一个不重复,则这条记录视为不重复)

语句:

SELECT DISTINCT Name,Uid FROM dbo.Member
查询结果

技术分享


DISTINCT 用于统计

语句
 SELECT COUNT(DISTINCT(Name)) FROM dbo.Member

 



sql Server 重复数据的查询,删除

标签:

人气教程排行