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

相关推荐
Esaka_Forever几秒前
PyCharm 社区版无法识别 .db 文件类型
数据库·ide·pycharm
yyuuuzz2 分钟前
AI模型部署中的常见稳定性问题
运维·服务器·网络·数据库·人工智能·云计算·github
li星野3 分钟前
从零搭建带数据库的文件上传系统:FastAPI + Streamlit + SQLite+加上日志
数据库·sqlite·fastapi
程序猿乐锅17 分钟前
【MySQL | 第七篇】 索引使用规则
数据库·sql·mysql
C137的本贾尼25 分钟前
崩溃恢复揭秘:从 Redo Log 到数据一致性
数据库
Lyyaoo.25 分钟前
【MySQL】锁机制
android·数据库·mysql
文中金域31 分钟前
备份sqlite数据库
数据库·sqlite
摇滚侠34 分钟前
Maven 入门+高深 SSM 案例 111-112
java·数据库·maven
ZengLiangYi1 小时前
从 RAG 到知识图谱:个人知识管理的演进
数据库·后端·程序员
zuYM4g7Dp1 小时前
文顶顶iOS开发数据库篇—SQL
数据库·sql·ios