2025.02.24 - [프로그래밍/SQL, Hive, SAS 관련 정보] - [SQL] Table of Contents
행의 중복을 제거하기 위한 방법
1. Distinct 사용
SELECT DISTINCT *
FROM your_table;
select에 distinct만 붙여주면 중복을 제거해줍니다. 이제 distinct 뒤에 선택되는 column set에 대해 중복이 아닌 값들만 불러오라는 명령어입니다(물론 *를 이용해서 모든 칼럼을 선택하지 않고 일부 칼럼만 선택해도 동일하게 작동합니다). 하지만 리소스 관점에서 이러한 방식은 임시 tablespace에 데이터를 저장하고 진행하는 방식이라 로드가 걸릴 수 있는 방법입니다.
주의) SELECT DISTINCT(*) 아니고 DISTINCT *입니다.
2. Group by 사용
SELECT *
FROM your_table
GROUP BY column1, column2, column3, ...;
3. Row_number 사용
SELECT *
FROM (
SELECT
컬럼1, 컬럼2, -- 필요한 컬럼들
ROW_NUMBER() OVER (PARTITION BY 중복기준컬럼 ORDER BY 정렬기준컬럼) AS rn
FROM 테이블명
)
WHERE rn = 1; -- 첫 번째 행만 유지
'프로그래밍 > SQL, Hive, SAS 관련 정보' 카테고리의 다른 글
[DBeaver] 테마 변경하기 (2) | 2024.12.19 |
---|---|
[SQL - Frequently Used Code] 그룹별로 첫번째/마지막 값 추출 (3) | 2024.12.15 |
[SQL 기초] Index (0) | 2024.11.03 |
[SQL 기초] Window함수 (1) | 2024.11.03 |
[SQL 기초] SQL join (0) | 2024.11.02 |