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

相关推荐
byzh_rc4 分钟前
[模式识别-从入门到入土] 支持向量积SVM
数据库·人工智能·算法
程序员水自流4 分钟前
MySQL常用SQL语法及参数详细介绍(新手经验书)
java·数据库·sql·mysql·oracle
Rhys..4 分钟前
js-三元运算符
前端·javascript·数据库
倔强的石头1065 分钟前
金仓数据库 MongoDB 兼容:多模融合下的架构之道与实战体验
数据库·mongodb·架构·kingbase
coder_xiaoyou5 分钟前
MYSQL ReadView
数据库
川石课堂软件测试8 分钟前
软件测试的白盒测试(二)之单元测试环境
开发语言·数据库·redis·功能测试·缓存·单元测试·log4j
micro_cloud_fly9 分钟前
如何使用 IDEA自带的数据库工具导出 pgsql 的DDL
数据库
nvd1112 分钟前
在 Cloud SQL for PostgreSQL 上启用 pgvector
数据库·postgresql
老友@19 分钟前
MySQL:从 ACID 到 MVCC 与主从复制
数据库·mysql·事务·mvcc·主从复制·acid·2pc
TG:@yunlaoda360 云老大19 分钟前
华为云国际站代理商昇腾芯片硬适配的具体落地场景有哪些?
数据库·人工智能·华为云