数据库去重(MYSQL和ORACLE)

一、数据库中的去重操作(删除数据库中重复记录的SQL语句)主要有三种方法

(1)、rowid方法

(2)、group by 方法

(3)、distinct方法

1、用rowid方法

根据Oracle带的rowid属性,可以进行判断是否存在重复语句;

(1)、查出表1和表2中name相同的数据

Select * from table1 a Where rowid !=(select max(rowid) from table2 b Where a.name1 = b.name1 And a.name2 = b.name2......) 12345

(2)、删除表1和表2 中name相同的所有数据

Delete from table1 a Where rowid !=(select max(rowid) From table2 b Where a.name1 = b.name1 And a.name2 = b.name2.......) 12345

2、用group by方法

主要用于分组统计,一般都是使用在聚合函数中使用;

(1)、查数据

Select count(num), max(name) from student 列出表中的重复的记录数和学生名字的属性,

Group by num Having count(num) 12

1 并按照num分组后找出表中num列出现次数大于一次的。

(2)、删除数据

Delete from student Group by num Having count(num)>1 123

//删除表中num列所有重复的数据

3、用distinct方法

一般用于比较小的表进行去重,会过滤掉多余的重复记录,返回不重复的记录或字段;

(1)select distinct name from student

相关推荐
历程里程碑3 分钟前
C++ 8:list容器详解与实战指南
c语言·开发语言·数据库·c++·windows·笔记·list
CodeAmaz15 分钟前
mysql乐观锁和悲观锁
数据库·mysql·乐观锁·悲观锁
MasonYyp22 分钟前
简单使用FalkorDB和Neo4j图数据库
数据库·neo4j
2301_7683502325 分钟前
MySQL程序
数据库·mysql
小毅&Nora29 分钟前
【后端】【数据库】MongoDB存储引擎选型指南:WiredTiger如何用B+树吊打B-树
数据库·mongodb·存储引擎
VX:Fegn089532 分钟前
计算机毕业设计|基于springboot + vue超市管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
喵叔哟37 分钟前
9.数据库集成
数据库
范纹杉想快点毕业44 分钟前
FPGA实现同步RS422转UART方案
数据库·单片机·嵌入式硬件·fpga开发·架构
醉舞经阁半卷书11 小时前
深入了解ETCD
数据库·etcd
熊文豪1 小时前
金仓数据库PL/SQL兼容性深度评测:为什么说它最接近Oracle?
数据库·pl/sql·金仓数据库·kes