使用count 和distinct(去重)關鍵字可以查看資料庫某列是否有重復項。例如:
select count(discinct(colunmname)) from table_name;
如果上述查詢統計結果大於count(colunmname),則代表這一列有重復項。
(1)sql數據查重方法擴展閱讀
SQL SELECT DISTINCT 語句用法介紹:
在表中,可能會包含重復值。這並不成問題,不過,有時您也許希望僅僅列出不同(distinct)的值。
關鍵詞 DISTINCT 用於返回唯一不同的值。
語法:
SELECT DISTINCT 列名稱 FROM 表名稱
使用 DISTINCT 關鍵詞,例如要從 "Company" 列中選取所有的值,我們需要使用 SELECT 語句:
SELECT Company FROM Orders
② SQL重復數據的篩選
你要看你有哪些數據段是相同的,就根據那些相同的數據段分類。
比如說,
A B C D
1 1 1 3
1 1 1 4
1 1 1 5
(前面的insert 我就不寫了)
那就是select A,B,C,MAX(D) FROM TABLE GROUP BY A,B,C
如果是
A B C D
1 1 1 2
2 1 1 3
3 1 1 4
就是說,如果你還有一個欄位是id,主鍵的話就是
select A,B,C,MAX(D) FROM TABLE GROUP BY B,C
③ 怎麼用SQL篩選資料庫重復記錄
用group by語句可以篩選重復數據。
1、創建測試表、插入數據
createtabletest
(idint,
namevarchar(10));
insertintotestvalues(1,'張三')
insertintotestvalues(2,'李四')
insertintotestvalues(3,'王五')
insertintotestvalues(4,'趙六')
insertintotestvalues(1,'張三')
insertintotestvalues(2,'李四')
2、現在要篩選出重復數據,使查詢的數據不重復,可用語句
select id,name from test group by id,name;
3、結果如圖:
④ 用sql語句統計資料庫某個欄位中相同的數據有多少條
1、可通過分組和組內計數來實現,語句如下:
select a, count(*) from A Group by a
2、用Group By分組:
Group By + [分組欄位](可以有多個)。在執行了這個操作以後,數據集將根據分組欄位的值將一個數據集劃分成各個不同的小組。
這里,分組欄位是a,所以數據集分成了你、我、他三個組。然後用Count(*)分別按照各個組來統計各自的記錄數量。
3、Count(*)函數:
Count(*) 函數返回表中的記錄數。注意它和Group by連用,返回組內記錄數。
』
(4)sql數據查重方法擴展閱讀:
select count(*)和select count(1)的區別
一般情況下,Select Count (*)和Select Count(1)兩著返回結果是一樣的。
假如表沒有主鍵(Primary key), 那麼count(1)比count(*)快。
如果有主鍵的話,那主鍵作為count的條件時候count(主鍵)最快。
如果你的表只有一個欄位的話那count(*)就是最快的。
count(*) 跟 count(1) 的結果一樣,都包括對NULL的統計,而count(column) 是不包括NULL的統計。
網路.Group by