2017-02-18 54 views
0

我想知道我的數據庫是否包含重複項。如果沒有,我知道我的代碼正在工作。使用SQL查找重複項?

我的數據庫看起來是這樣的:

---------------------------- 
| id | name | price | link | 
|---------------------------| 
| 202| test | 34.00 | googl | 
| 203| halo | 22.00 | bing | 
| 204| hovo | 31.00 | link | 
| 205| test | 34.00 | googl | 
----------------------------- 

你可以看到,名稱,價格和紐帶的值是他們相同的,但編號是不同的。我想到了諸如分組姓名,價格和鏈接之類的東西,並用它來計算。像這樣的例子:

SELECT email, 
COUNT(email) AS NumOccurrences 
FROM users 
GROUP BY email 
HAVING (COUNT(email) > 1) 

但我的問題是我怎麼能像我的表中的3個屬性分組。按名稱,價格和鏈接?

+0

如何查詢有關樣本數據?並請定義「重複」。 –

回答

1

組由多個列,而算上組大小:

SELECT name, price, link, Count(*) as cnt 
FROM table_name 
GROUP BY name, price, link 
where cnt>1 
2

可以在GROUP BY子句指定3列,例如:

SELECT name, price, link 
FROM users 
GROUP BY name, price, link 
HAVING COUNT(email) > 1; 
2

您可以通過多個領域同時組。

選擇A,B,C,COUNT(d) FROM someTable GROUP BY A,B,C HAVING COUNT(d)> 1只

希望這有助於。