快好知 kuaihz订阅看过栏目

 

 

SQL删除某字段重复的数据

SQL2005中如何删除某字段重复的数据

依下图Students表内容为例,Id_P列不同,Id_P类型为int,自增字段

 

 

一、查询重复的数据

(Name,Address,City列值重复

SELECT     Name, Address, City, COUNT(*) AS CountStudents

FROM      Students

GROUP BY   Name, Address, City

HAVING    (COUNT(*) > 1)

查询结果如下图: 

通过查询结果可以看出Name,Address,City列值重复的有哪些及重复次数

SELECT     MAX(Id_P) AS MAXId_P

FROM      Students

GROUP BY   Name, Address, City

查询结果如下图: 

依Name, Address, City分组查询Id_P最大值,这样查询的结果就不包含重复的Id_P值

SELECT     *

FROM      Students

WHERE     (Id_P IN

         (SELECT   MAX(Id_P) AS MAXId_P

          FROM     Students AS Students_1

          GROUP BY  Name, Address, City))

查询结果如下图: 

查询结果没有重复的数据,可以把MAX(Id_P)改成MIN(Id_P)

DELETE FROM Students

WHERE     (Id_P NOT IN

        (SELECT   MAX(Id_P) AS MAXId_P

         FROM     Students AS Students_1

         GROUP BY  Name, Address, City))

删除重复的数据,注意Id_P后面"NOT IN"

搜索建议:SQL删除某字段重复的数据  字段  字段词条  重复  重复词条  删除  删除词条  数据  数据词条  SQL  SQL词条  
综合

 几个电脑常见小窍门你收藏没?

我们在使用电脑的过程中会出现各种各样的问题,但是有几个问题,你必须知道,此文适合在日常生活工作中,对电脑了解不太深入的人群!(网线制作视频看文末!)文|电脑管家...(展开)