--创建测试表
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
)

sql 删除重复数据保留一条的更多相关文章

  1. sql server删除重复数据,保留第一条

    SELECT * FROM EnterpriseDataTools.Enterprise.CompanyMainwhere CompanyNo in (select CompanyNo from En ...

  2. mysql 删除重复数据保留一条

    验证:mysql 5.6版本 方法一: delete a from table a left join( select (id) from table group by studentName,cla ...

  3. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  4. Mysql删除重复数据保留最小的id

    在网上查找删除重复数据保留id最小的数据,方法如下: DELETE FROM people WHERE peopleName IN ( SELECT peopleName FROM people GR ...

  5. SQL删除重复数据,保留一条

    例如: id           name         value 1               a                 pp 2               a           ...

  6. sql 删除重复数据且保留其中一条 用sql 关键字:with ROW_NUMBER

    --1.建立表:Coursecreate table Course( ID int identity(1,1),--ID Student varchar(20) ,--学生 Sub varchar(2 ...

  7. 【转】SQL删除重复数据方法,留着备用

    感谢孙潇楠前辈的总结,地址http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 例如: id           name ...

  8. (转载)SQL删除重复数据方法

    本文转载自http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 例如: id           name         ...

  9. SQL删除重复数据方法

    例如: id           name         value 1               a                 pp 2               a           ...

随机推荐

  1. Python 3 socket 编程

    Python 3 socket编程 一 客户端/服务器架构 互联网中处处是C/S架构 1.C/S结构,即Client/Server(客户端/服务器)结构 2.在互联网中处处可见c/s架构 比如说浏览器 ...

  2. while & do-while

    while的形式——while(条件表达式){循环体:} 当满足条件表达式时,执行循环体,之后继续验证是否满足条件表达式,满足继续执行循环体,之后重复,直到不满足条件表达式,循环结束.    先判断, ...

  3. <HTTP协议详解>由浅入深看HTTP

    一. HTTP协议的应用简单概况 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式.2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GET.HEAD.POST ...

  4. java深入探究07-jdbc下

    1.BeanUtils组件 1)使用:导入commons-beanutils-1.8.3.jar核心包,日志支持包: commons-logging-1.1.3.jar 缺少日志的jar文件报错:ja ...

  5. Docker-端口映射与容器互联

    在使用docker过程中,通常会碰到需要多个服务组件容器共同协作的情况,这往往需要多个容器之间有能够互相访问到对方的服务除了通过网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求 ...

  6. linux 新建分区 、格式化 并挂载的命令

    一.新建分区命令为 fdisk /dev/diskname fdisk命令为交互式命令 p:显示当前硬盘上的分区,包括没保存的改动 n:创建新分区 e:表示扩扩展分区 p:表示主分区 d:删除一个分区 ...

  7. 消息队列(Message Queue)基本概念

    背景 之前做日志收集模块时,用到flume.另外也有的方案,集成kafaka来提升系统可扩展性,其中涉及到消息队列当时自己并不清楚为什么要使用消息队列.而在我自己提出的原始日志采集方案中不适用消息队列 ...

  8. 英语发音规则---字母组合ou的发音规律

    英语发音规则---字母组合ou的发音规律 一.总结 一句话总结: 1.先练习一下题,单词enough划线部分与下列那个单词划线部分读音相同:A. touch  B. mouth  C. soul  D ...

  9. 基于Protobuf的分布式高性能RPC框架——Navi-Pbrpc

    基于Protobuf的分布式高性能RPC框架——Navi-Pbrpc 二月 8, 2016 1 简介 Navi-pbrpc框架是一个高性能的远程调用RPC框架,使用netty4技术提供非阻塞.异步.全 ...

  10. qt和makefile学习网址

    http://blog.51cto.com/zt/20/1/   ---qt学习网站 http://www.chinaunix.net/old_jh/23/408225.html  [精华] 跟我一起 ...