ANSI SQLを使用して重複する行の数をカウントするには、いくつかの方法があります。以下にいくつかのコード例を示します。
-
COUNTとGROUP BYを使用する方法:
SELECT column1, column2, COUNT(*) as count FROM table_name GROUP BY column1, column2 HAVING COUNT(*) > 1;
このクエリでは、
table_name
というテーブルからcolumn1
とcolumn2
の組み合わせでグループ化し、重複する行の数をカウントしています。HAVING句を使用して、カウントが1より大きい行のみを返します。 -
サブクエリを使用する方法:
SELECT column1, column2, ( SELECT COUNT(*) FROM table_name t2 WHERE t1.column1 = t2.column1 AND t1.column2 = t2.column2 ) as count FROM table_name t1 WHERE ( SELECT COUNT(*) FROM table_name t2 WHERE t1.column1 = t2.column1 AND t1.column2 = t2.column2 ) > 1;
このクエリでは、サブクエリを使用して重複する行の数をカウントしています。外部クエリでテーブルを参照し、サブクエリ内で同じ値を持つ行の数をカウントします。HAVING句を使用して、カウントが1より大きい行のみを返します。