1、数据库中的去重操做(删除数据库中重复记录的SQL语句)主要有三种方法数据库
(1)、rowid方法函数
(2)、group by 方法.net
(3)、distinct方法blog
一、用rowid方法get
根据Oracle带的rowid属性,能够进行判断是否存在重复语句;table
(1)、查出表1和表2中name相同的数据select
Select * from table1 a方法
Where rowid !=(select max(rowid)统计
from table2 b数据
Where a.name1 = b.name1
And a.name2 = b.name2......)
(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.......)
二、用group by方法
主要用于分组统计,通常都是使用在聚合函数中使用;
(1)、查数据
Select count(num), max(name) from student 列出表中的重复的记录数和学生名字的属性,
Group by num
Having count(num)>1 并按照num分组后找出表中num列出现次数大于一次的。
(2)、删除数据
Delete from student
Group by num
Having count(num)>1
//删除表中num列全部重复的数据
三、用distinct方法
通常用于比较小的表进行去重,会过滤掉多余的重复记录,返回不重复的记录或字段;
(1)、select distinct name
From student