반응형
SELECT문으로 데이터를 조회 시 중복된 값이 조회되는 경우가 있습니다.
중복된 값을 제거하고 조회할 수 있는 방법에 대해서 스크립트를 통해 소개해드리도록 하겠습니다.
우선 테스트할 테이블을 조회 합니다.
SELECT country
FROM dbo.CUST_TABLE
국가(country) 컬럼에 중복된 값들이 조회되는 것을 확인할 수 있습니다.
그럼 이제 중복된 값들을 제거 해보겠습니다.
Distinct
distinct 구문은 지정된 집합의 중복 튜플을 제거해서 결과 집합을 반환합니다.
SELECT distinct country
FROM dbo.CUST_TABLE
쿼리 수행 시 중복 튜플이었던 denmark 와 germany가 한 개씩만 남고 사라지는 것을 확인할 수 있습니다.
이번에는 다른 방법으로 중복을 제거 해보겠습니다.
Group by
group by 절은 말 그대로 데이터를 그룹에 따라 묶을 수 있습니다.
만약에 country별로 그룹을 묶는다면 중복된 값들을 모두 제거한 것과 같은 결과를 반환합니다.
SELECT country
FROM dbo.CUST_TABLE
GROUP BY country
distinct 구문을 사용한 것과 결과가 같습니다.
group by는 다양한 집계 함수들과 함께 사용할 수 있습니다.
예를 들어 country별 데이터 건 수를 조회하고 싶으면 아래와 같이 쿼리하면 됩니다.
SELECT country
, count(*) as cnt
FROM dbo.CUST_TABLE
GROUP BY country
반응형
'IT 이야기 > DB' 카테고리의 다른 글
[MSSQL] 집합 연산자 (UNION, INTERSECT, EXCEPT) 합집합, 교집합, 차집합 (0) | 2022.10.10 |
---|---|
[DB 기술면접] 페이지와 익스텐트 (SQL Server 단일 익스텐트/혼합 익스텐트) (0) | 2022.10.09 |
[SQLP 시험대비 요약/단답형] 선택도와 카디널리티 (1) | 2022.09.15 |
[MSSQL] 문자열 자르기 (SUBSTRING, RIGHT, LEFT) (0) | 2022.09.13 |
[MSSQL] Lock 확인 및 Kill 하는 방법 (2) | 2022.09.12 |