數據庫的幾種去重方法總結

1、數據庫中的去重操做(刪除數據庫中重複記錄的SQL語句)主要有三種方法數據庫

(1)、rowid方法函數

(2)、group by 方法spa

(3)、distinct方法table

一、用rowid方法select

根據Oracle帶的rowid屬性,能夠進行判斷是否存在重複語句;方法

(1)、查出表1和表2中name相同的數據統計

Select * from table1 a數據

Where rowid !=(select max(rowid)tab

       from table2 bdi

  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 

相關文章
相關標籤/搜索