2017-02-18 8 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 | 
----------------------------- 

あなたは彼らが同じ名前、価格およびリンクの値があることがわかりますが、IDが異なっています。私は、名前、価格、リンクをグループ化し、それを数えるようなものを考えました。例のように:

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

あなたはできる複数のフィールドをグループ時。

は、B、C、COUNT(D)を選択BY someTable 群から 、B、C HAVING COUNT(D)>このことができます1つの

ホープ。複数の列によって

関連する問題