SW개발/SQL

[SQL] 중복된 갯수 N개 이상 데이터 찾기

코대장 2021. 4. 14. 11:46
반응형

중복된 갯수가 N개 이상이 조건으로 데이터를 찾아 보겠습니다.

만약 NAME 컬럼 중에서 두번 이상 중복된 NAME 과 그 갯수를 카운트 하려면 어떻게 해야 할까요?

저는 GROUP BY 와 HAVING 문을 사용해 보았습니다.

우선 NAME 기준으로 GROUP BY 를 해보면 아래와 같죠.

SELECT NAME FROM MyTable GROUP BY NAME

여기서 중복된 갯수 카운트를 위해 COUNT 문과 2개 이상 조건으로 HAVING 문을 추가 해 보겠습니다.

SELECT NAME, COUNT(NAME) AS CNT FROM MyTable GROUP BY NAME HAVING CNT > 1

두명의 중복된 사람이 있었고 각각 2번씩 데이터가 들어 있었네요.

추가적으로 NAME 정렬을 반대로 하고 싶을때 아래와 같이 ORDER BY 로 정렬 해 줄 수 있겠죠?

SELECT NAME, COUNT(NAME) AS CNT FROM MyTable GROUP BY NAME HAVING CNT > 1 ORDER BY NAME DESC

 

 

이상. 끝.