彩虹导航个人博客
博客信息

SQL如何查重删重

0
发布时间:『 2020-05-20 09:54』  博客类别:数据库  阅读(352) 评论(0)
笔记源于网络积累,感谢原作者分享。

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
SELECT *
FROM   people
WHERE  peopleid IN (SELECT peopleid
                    FROM   people
                    GROUP  BY peopleid
                    HAVING COUNT(peopleid) > 1)


2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录


  1. DELETE FROM people
    WHERE  peopleid IN (SELECT peopleid
                        FROM   people
                        GROUP  BY peopleid
                        HAVING COUNT(peopleid) > 1)
    AND    ROWID NOT IN (SELECT MIN(ROWID)
                         FROM   people
                         GROUP  BY peopleid
                         HAVING COUNT(peopleid) > 1)


3、查找表中多余的重复记录(多个字段)
SELECT *
FROM   vitae a
WHERE  (a.peopleid, a.seq) IN (SELECT peopleid, seq
     FROM   vitae
     GROUP  BY peopleid, seq
      HAVING COUNT(*) > 1)




关键字:   无
评论信息
暂无评论
发表评论
验证码: 
Powered by 彩虹导航 V3.0 Copyright © 2012-2016 彩虹导航网站 版权所有