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