• sql 删除重复数据保留一条


    --创建测试表
    CREATE TABLE TEST (
    DEPTNO NUMBER(2),
    DNAME VARCHAR(13),
    LOC VARCHAR(14)
    );
    
    --插入测试数据
    INSERT INTO TEST VALUES(10, 'test1', 'test2');
    INSERT INTO TEST VALUES(10, 'test1', 'test2');
    INSERT INTO TEST VALUES(20, 'test2', 'test3');
    INSERT INTO TEST VALUES(20, 'test2', 'test3');
    
    --查询所有记录
    SELECT * FROM TEST;
    
    
    --查询重复的记录
    SELECT * FROM TEST WHERE deptno IN(
    SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1
    )
    
    --查询重复记录-1条记录 
    SELECT * FROM TEST WHERE deptno IN (
    SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1
    )
    AND ROWID NOT IN (SELECT MAX(ROWID) FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1)
    
    --删除重复记录,保留一条
    DELETE FROM TEST WHERE deptno IN (
    SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1
    )
    AND ROWID NOT IN (SELECT MAX(ROWID) FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1)
    
    --删除重复记录,全部删除
    DELETE FROM TEST WHERE deptno IN (
    SELECT deptno FROM TEST GROUP BY deptno HAVING COUNT(deptno) > 1
    )
  • 相关阅读:
    WF4.0 基础 InvokeMethod 调用方法
    MySQL数据库表名、列名、别名区分大小写的问题
    客户端调用Web服务
    something about Socket
    C#参数传递
    学习内容
    About HttpContext
    Best Sequence [POJ1699] TSPDP
    优先队列
    Watermelon Full of Water [ZOJ 4778]
  • 原文地址:https://www.cnblogs.com/etangyushan/p/7729517.html
Copyright © 2020-2023  润新知