数据库去重(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

相关推荐
枫叶丹4几秒前
Oracle迁移实战:破解兼容性难题与高成本挑战
开发语言·数据库·oracle
济6172 分钟前
linux 系统移植(第十期)----Linux 顶层 Makefile详谈-- Ubuntu20.04
linux·服务器·数据库
踢足球09298 分钟前
寒假打卡:2026-01-21
数据库·sql
驾驭人生11 分钟前
Nacos 2.2.3 生产级部署指南(单机 + MySQL + 鉴权)
数据库·mysql
茁壮成长的露露15 分钟前
pbm物理备份恢复
数据库·mongodb
星梦清河17 分钟前
MySQL--常见函数
数据库·mysql
l1t26 分钟前
对clickhouse给出的二分法求解Advent of Code 2025第10题 电子工厂 第二部分的算法理解
数据库·算法·clickhouse
IT大白35 分钟前
6、数据库优化
数据库·sql
努力学习的小廉38 分钟前
【QT(九)】—— 窗口
数据库·qt·系统架构
程序员敲代码吗38 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python