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

相关推荐
rchmin11 分钟前
MySQL分库分表适用场景与依据
数据库·mysql
MaisieKim_11 分钟前
2025年企业文档管理系统全面评测报告
运维·数据库
f***65115 分钟前
sql中COALESCE函数详解
数据库·sql
b***594322 分钟前
LangChain-08 Query SQL DB 通过GPT自动查询SQL
数据库·sql·langchain
u***32431 小时前
【MySQL】数据库和表的操作
数据库·mysql·oracle
好奇的菜鸟1 小时前
MySQL 8 开启远程登录
数据库·mysql·adb
Boop_wu2 小时前
[Java EE] 多线程编程进阶
java·数据库·java-ee
深瞳智检2 小时前
学习应用 第001期-Windows 10 用 CMD 安装 MySQL 全流程解析(免安装版)
数据库·windows·mysql·压缩包·环境安装
正在走向自律2 小时前
金仓数据库在发电行业的创新应用与实战案例
数据库·国产数据库·电力·kingbasees·电科金仓
华纳云IDC服务商2 小时前
MySQL数据库如何防止SQL注入攻击
数据库·sql·mysql