SQL Serverで複数のフィールドを重複なしで検索する方法は何ですか?
SQL Serverでは、複数のフィールドを重複なしでクエリするために、GROUP BY句とHAVING句を使用できます。
「table_name」という名前のテーブルには、複数の列が含まれていて、例えば「column1」「column2」「column3」というフィールドがあります。これらのフィールドに対して重複を取り除いたクエリを行うためには、以下の構文を使用することができます:
SELECT column1, column2, column3
FROM table_name
GROUP BY column1, column2, column3
HAVING COUNT(*) > 1
これは、これら3つのフィールドで重複するすべてのレコードを返します。重複したレコードの数だけを返す場合は、次の構文を使用できます。
SELECT COUNT(*) AS duplicate_count
FROM (
SELECT column1, column2, column3
FROM table_name
GROUP BY column1, column2, column3
HAVING COUNT(*) > 1
) AS duplicates
これは重複レコードの数を返します。