반응형
중복된 갯수가 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
이상. 끝.
'SW개발 > SQL' 카테고리의 다른 글
[SQL] 구글 바드(Bard)에게 물어본 쿼리 튜닝 (0) | 2023.08.18 |
---|---|
[SQL] SELECT 날짜 DATETIME 범위 검색 (0) | 2021.03.27 |
[SQL] SELECT 여러 조건으로 정렬하기(다중정렬) (0) | 2021.03.27 |