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

相关推荐
l1t6 分钟前
DeepSeek总结的SQLite 数据库的版本更新历史摘要
数据库·人工智能·sqlite
一个天蝎座 白勺 程序猿6 分钟前
Apache IoTDB(13):数据处理的双刃剑——FILL空值填充与LIMIT/SLIMIT分页查询实战指南
数据库·sql·ai·apache·时序数据库·iotdb
一步一个脚印7 分钟前
Oracle LONG类型与CLOB类型的比较与转换
数据库·oracle
廋到被风吹走26 分钟前
【数据库】【Mysql】慢SQL深度分析:EXPLAIN 与 optimizer_trace 全解析
数据库·sql·mysql
XerCis27 分钟前
PostgreSQL超全指南
数据库·postgresql
数据知道28 分钟前
万字详解模式(Schema):如何利用 Schema 实现PostgreSQL中开发/测试/生产环境隔离
数据库·postgresql
WilliamHu.31 分钟前
智能体项目实战
数据库·oracle
数据知道42 分钟前
PostgreSQL实战:详细讲述UUID主键,以及如何生成无热点的分布式主键
数据库·分布式·postgresql
数据知道42 分钟前
PostgreSQL实战:如何选择合适的数据类型?
数据库·postgresql
nvd111 小时前
Pytest 异步数据库测试实战:基于 AsyncMock 的无副作用打桩方案
数据库·pytest