数据库去重(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
来源地址:https://blog.csdn.net/qq_44981598/article/details/132709277
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341