`

删除数据表中重复记录,只保留一条

SQL 
阅读更多
删除表中重复记录,只保留一条:

delete from 表名 where 字段ID in (select * from (select max(字段ID) from 表名 group by 重复的字段 having count(重复的字段) > 1) as b);

实例:
2.当想要为某一个表建立一个唯一索引,由于表中有重复记录而无法进行时,需要删除重复记录。
例表 dept
          id_no            id_name
           100              'AAA'
           101              'BBB'
           102              'CCC'
           103              'DDD'
           100              'EEE'
           100              'FFF'
           103              'GGG'
请写一条(或一组)SQL语句,删除重复的行,但重复的行中需要保留一行,
如上表,id_no=100需要删除2行,保留一行,id_no=101需要删除一行保留一行id_no=102和103则不删

delete from dept where id_no not in ( select * from (select max(id_no) from dept group by id_no having count(id_no)>1) b);
0
0
分享到:
评论

相关推荐

    SQL语句删除数据表中重复的记录

    该文档是本人在实验过程中遇到的一个需求,之后解决了,特此写一个文档,实现一条SQL语句删除数据库某一个表中重复的记录。(重复的记录只保留一条,其他的被删除)

    Oracle查询重复数据并删除,只保留一条记录.docx

    Oracle查询重复数据并删除,只保留一条记录.docx

    删除Access数据库中重复的记录

    在Access中一般只能查找10行大概20条重复记录,这样程序就可以任意指定表及多字段检索重复记录,并把重复的记录移除到一个临时表中,并不是进行真正删除,你可以进行恢复。但是执行第二次查找时则自动删除上次查找的...

    Oracle查询重复数据与删除重复记录方法(txt)

    Oracle查询重复数据与删除重复记录方法,Oracle查询重复数据与删除重复记录方法

    SQL对冗余数据的删除重复记录只保留单条的说明

    本文讲一下数据库中通常存在一些冗余数据,如重复记录就是一种,那这样的记录如何删除呢?

    数据库删除完全重复和部分关键字段重复的记录

    重复记录分为两种,第一种是完全重复的记录,也就是所有字段均重复的记录,第二种是部分关键字段重复的记录,例如Name字段重复,而其它字段不一定重复或都重复。

    SQL 根据多字段删除重复项,结果返回最大或最小记录.sql

    SQL根据多字段删除重复项,其结果只以ID最新(大)保留一个条记录。超级简单的代码,保证人人都能看懂。删除多条重复的名称,并且保留ID最小的那个。删除重复数据,并且保留最大的ID。

    mysql查找删除重复数据并只保留一条实例详解

    有这样一张表,表数据及结果如下: school_id school_name total_student test_takers 1239 Abraham Lincoln High School 55 50 1240 Abraham Lincoln High School 70 35 1241 Acalanes High School 120 89...

    Excel新增工具集

    2、多个工作表中各个名称相同的工作表合并到同一个工作表中:合并后的表格的表头相同,为了明确每一条记录的来源,在表中增加一列标注记录来看何簿何表。 3、多个工作表中相同位置的行(列)集中到同一表:本工作簿中...

    MySQL命令大全

    例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为的名为Tom的成绩为.45, 编号为 的名为Joan 的成绩为.99,编号为 的名为Wang 的成绩为.5. mysql>insert into MyClass values(1,’Tom’,96.45),(2,’Joan...

    MySQL 删除数据库中重复数据方法小结

    刚开始,根据我的想法,这个很简单嘛,上sql语句 delete from zqzrdp where tel in (select min(dpxx_id) from ...1. 查询需要删除的记录,会保留一条记录。 select a.id,a.subject,a.RECEIVER from test1 a left jo

    mysql数据库的基本操作语法

    foreign key:外键,指定该列记录属于主表中的一条记录,参照另一条数据 check:检查,指定一个表达式,用于检验指定数据 MySQL不支持check约束,但可以使用check约束,而没有任何效果; 根据约束数据列限制,约束...

    SQL语法大全

    sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)" sql="insert into 目标数据表 select * from 源数据表" (把源...

    达梦数据库_SQL语言手册

    因此在嵌入方式下,除了数据查询语句一次查询一条记录外,还有几种与游标 有关的语句: 游标的定义、打廾、关闭、拨动语句 游标定位方式的数据修改与删除语句。 为了有效维护数据库的完整性和一致性,支持 的并发...

    经典全面的SQL语句大全

     19、说明:删除重复记录 Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)  20、说明:列出数据库里所有的表名 select name from sysobjects where type='U' 21、...

    Excel VBA实用技巧大全 附书源码

    04193复制单元格的数据和公式(保留前缀字符) 04194复制单元格的格式 04195复制单元格的批注 04196复制单元格的有效性设置 04197复制单元格的列宽 04198复制单元格的公式和数字格式 04199复制单元格的值和数字格式 ...

    Access 2000数据库系统设计(PDF)---025

    1256.2.4 删除表排序次序和解冻列 1256.3 查找表中的匹配记录 1266.4 自动地替换匹配的字段值 1276.5 筛选表数据 1286.5.1 按选定内容筛选 1286.5.2 按窗体筛选 1306.5.3 高级筛选和排序 1326.5.4 添加一个多字段...

    orcale常用命令

    例:表删除将同时删除表的数据和表的定义 sql>drop table test c、表空间的创建、删除 六、ORACLE逻辑备份的SH文件 完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager ...

    基于爬虫的百度新闻搜索引擎.zip

    (这里的操作是删除所有,实际上应该保留一篇) (2)数据处理 在dataframe中进行操作,根据每个链接保存的子链接,进行两步操作, 一步为筛选子链接,只保留在当前已爬取保存文件中有的子链接 二步为根据一条url,...

Global site tag (gtag.js) - Google Analytics