次のようなデータがある場合:
| 鍵 | 名前 |
|---|---|
| 1 | ダン |
| 2 | トム |
| 3 | ジョン |
| 4 | トム |
| 5 | サム |
| 6 | ダン |
Name2 回以上繰り返されるレコードを戻す SQL クエリは何ですか?
だから私が望む結果は
| トム |
|---|
| ダン |
次のようなデータがある場合:
| 鍵 | 名前 |
|---|---|
| 1 | ダン |
| 2 | トム |
| 3 | ジョン |
| 4 | トム |
| 5 | サム |
| 6 | ダン |
Name2 回以上繰り返されるレコードを戻す SQL クエリは何ですか?
だから私が望む結果は
| トム |
|---|
| ダン |
これ以上簡単なことはありません...
Select Name, Count(Name) As Count
From Table
Group By Name
Having Count(Name) > 1
Order By Count(Name) Desc
これを拡張して、重複を削除することもできます。
Delete From Table
Where Key In (
Select Max(Key)
From Table
Group By Name
Having Count(Name) > 1
)
select name from table group by name having count(name) > 1
これは、テーブルをそれ自体と結合することによっても達成できます。
SELECT DISTINCT t1.name
FROM tbl t1
INNER JOIN tbl t2
ON t1.name = t2.name
WHERE t1.key != t2.key;