删除数据库表中重复数据
这里的重复数据指数据库中每一列的值都相同的数据,有时候也许是没有主键的原因导致数据可能重复,或者是,除了主键,其他数据重复,那么下面的方法可以都这些重复数据进行删除,保留下重复数据中的一行就可以。
大体可以分为两个方法 :一种要用rowid来进行删除,另外一种,则是用临时表来进行删除。这里讲四种方法:
现在假设 表test中有,三个列col1,col2,col3;在这样的表里有很多数据是重复的,现在的目标是对这些数据中重复的数据进行删除,保留下的数据都是不重复的。
第一种方法:
Delete from test where rowid not in(select max(rowid) from test group by col1,col2,col3);
第二种方法:
Delete form test where (col1,col2,col3) in(select col1,col2,col3 from test group bycol1,col2,col3) and rowid not in(select max(rowid) from test group by col1,col2,col3)
(跟第一种差不了多少,很常见的思维方式)
这里的删除适合删除表中有大量重复数据;
第三种方法:
Delete from test a where a.rowid !=(select max(rowid) from test bwhere a.col1=b.col1 and a.col2=b.col2 and a.col3=b.col3)
变形:
Delete from test a where a.rowid
第三种方法适合表中有少量重复数据的表
第四种方法:(临时表法)
Create table test2 as select distinct * from test;--建立临时表,表中存放不重复的值Truncate table test;--清空原来的表Insert into test select * from test2;--重新插入不重复的值
当然第四种是比较麻烦的,也适合删除重复数据比较少的数据。
关于rowid,就是指数据库表中每一行的标示吧,
系统在你插入数据的时候要给每一行的数据分配一个rowid来进行标识每一行,从数据插入的那一刻起,rowid 就是定下来的了。
删除数据库表中重复数据相关推荐
- 删除数据库表中重复数据的总结(oracle)
这里的重复数据指数据库中每一列的值都相同的数据,有时候也许是没有主键的原因导致数据可能重复,或者是,除了主键,其他数据重复,那么下面的方法可以都这些重复数据进行删除,保留下重复数据中的一行就可以. 大 ...
- 如何删除数据库表中重复的数据
如何用SQL语句删除表中重复数据. 表名为cases,表中有四个字段时,表中数据如下: 1.id不同,其他字段相同 过滤重复字段,删除表中其他字段一样的数据 delete from cases whe ...
- 删除数据库表中重复的记录
删除数据库表中重复的记录 在处理数据的过程中,经常会遇到一个表中需要删除一些重复的记录.比如 在上表中,timeofday和cb_key_db_person两个字段,圈起来的记录是重复的,如果需要删除 ...
- MySQL - 删除数据库表中的数据
删除数据库表中的数据 删除数据记录是数据操作中常见的操作,可以删除表中已经存在的数据记录.在MySQL中可以通过DELETE语句来删除数据记录,该SQL语句可以通过以下几种方式使用:删除特定数据记录. ...
- 怎么删除mysql表中数据_如何删除数据库表中的数据?
删除数据库表中数据有两种方式: 第一种:delete from tablename where 1=1; 第二种:truncate table tablename; 区别是:第二种清空表数据比较及时 ...
- SQL删除数据库表中重复的数据
以一个字段为条件筛选重复数据并删除 delete from user.table t where t.pk_id in (select t.pk_id from user.table t group ...
- mysql删除表中的唯一索引吗_Mysql 使用sql删除同表中重复数据并加唯一索引
同一张表中,假设以两个字段做唯一业务,这两个字段分别为key1,key2, 则以这两个字段为唯一 DELETE tablename FROM tablename , ( SELECT min(id) ...
- 帆软通过js删除数据库表中的数据
contentPane.curLGP.getCellValue(1, 0); //获取文本框控件所在单元格的值 var yea=contentPane.curLGP.getCellValue(&quo ...
- SQL Server数据库表的基本操作(批量插入、删除、查询数据,删除表中重复数据方法)
实验名称:数据库表的基本操作与表内数据操作 实验目的: 掌握数据库表创建方法(交互式.T-SQL法) 掌握修改数据库表结构的方法 掌握删除数据库表的方法 掌握交互式EXCEL文件录入数据至数据库表的方 ...
最新文章
- 【VMCloud云平台】私有云门户第一朵Web云(一)
- leetcode算法题--寻找两个有序数组的中位数★★
- Zookeeper分布式一致性原理(一):分布式架构
- 【数据挖掘笔记二】认识数据
- (JavaWeb)ServletContext对象
- Java实现结构体,让字节流封送简单起来
- bootstrap到底是用来做什么的(概念)
- 安卓学习第10课——listview
- 能力成熟度模型(CMM)
- 整合Mybatis+Spring | 释疑
- android qq消息推送消息,最新版手机QQ怎么发送定时消息
- Transaction使用及原理
- HD2直刷WP7系统教程及详细说明【ROM+直刷驱动+内存卡工
- linux开启80和443,nginx 80和443同时做负载均衡
- 小样本(小于30)假设检验与置信区间
- [数据结构 算法] A*算法--罗马尼亚度假问题(实验课作业)
- 究竟wifi是怎么定位我的
- 2018年区块链红黑榜-千氪
- 在OpenCV里使用背景去除
- 机器学习数据集!CV、NLP 一应俱全
热门文章
- JS任意元素的任意值运动
- 软件测试:数据库笔记(2)
- #榜样的力量#天玑数据大脑疫情风险感知预警平台“智疫通”丨数据猿新冠战“疫”公益策划...
- 使用Python从逐月降水量数据中获取某位置的全年降水量
- android socket双向,Android中socketpair双向通信详解
- 回顾2022,展望2023
- Linux系统常见的压缩与解压命令
- 压缩解压命令(gzip、gunzip | tar | zip、unzip | bzip2、bunzip2)
- Python: 制作精简的Python绿色发行包
- PHPCMS v9 文章采集