[sql] UPDATE 문으로 특정 열의 데이터 중복된 값 일괄 수정하기

이번에는 SQL에서 UPDATE 문을 사용하여 특정 열의 데이터 중복된 값들을 일괄적으로 수정하는 방법에 대해 알아보겠습니다.

중복된 값 확인

먼저, 중복된 값을 확인하기 위해 SELECT 문과 GROUP BY 절을 사용하여 해당 열의 중복된 값을 추출합니다.

SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;

위의 쿼리를 사용하면, 중복된 값이 있는 경우 해당 값과 그 갯수를 확인할 수 있습니다.

중복된 값 수정

다음으로 중복된 값들을 수정하기 위해 UPDATE 문을 사용합니다. 이때, ROW_NUMBER() 함수를 사용하여 중복된 값을 구분한 후 원하는 값을 할당할 수 있습니다.

WITH CTE AS (
    SELECT column_name, 
           ROW_NUMBER() OVER(PARTITION BY column_name ORDER BY (SELECT NULL)) AS rn
    FROM table_name
)
UPDATE CTE
SET column_name = 'new_value' || rn;

위의 쿼리에서 ROW_NUMBER() 함수는 중복된 값을 구분하기 위해 사용되고, UPDATE 문을 통해 새로운 값을 할당합니다.

이제 SQL에서 UPDATE 문을 사용하여 특정 열의 데이터 중복된 값들을 일괄적으로 수정하는 방법을 알아보았습니다.