【转】数据库的几种去重方法总结

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

 

转自:http://www.javashuo.com/article/p-rwevelsv-cy.html

相关文章
相关标签/搜索