SQL Serverで重複行を削除する方法は何ですか?
SQL Serverで行を重複なしに取得する方法は以下の通りです:
- DISTINCTキーワードの使用:異なるすべての行を選択するためにSELECT DISTINCTステートメントを使用します。例:
SELECT DISTINCT column1, column2, ...
FROM table_name;
- GROUP BY句を使用すると、同じ行をグループ化して1つ選択できます。例えば:
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...;
- ROW_NUMBER関数を使用して、各行にユニークな番号を割り当て、その中から番号が1の行を選択します。例えば、
WITH CTE AS (
SELECT column1, column2, ..., ROW_NUMBER() OVER (PARTITION BY column1, column2, ... ORDER BY column1) AS row_num
FROM table_name
)
SELECT column1, column2, ...
FROM CTE
WHERE row_num = 1;
注意:上記の方法において、column1、column2、…は重複を取り除く列の名前を示し、table_nameは重複を取り除く表の名前を示します。