[TIL] MSSQL delete duplicate rows


MSSQLに重複行が含まれている場合、updateまたはdeleteが含まれていない場合があります.
このとき、次の構文削除を適用すると、1行しか残っていません.
WITH cte AS (
    SELECT 
        contact_id, 
        first_name, 
        last_name, 
        email, 
        ROW_NUMBER() OVER (
            PARTITION BY 
                first_name, 
                last_name, 
                email
            ORDER BY 
                first_name, 
                last_name, 
                email
        ) row_num
     FROM 
        sales.contacts
)
DELETE FROM cte
WHERE row_num > 1;
ソース:https://www.sqlservertutorial.net/sql-server-basics/delete-duplicates-sql-server/