카테고리 없음
[sql] WHERE 이 아닌 HAVING 으로 원하는 값만 추출하는 필터링하기
포포252
2023. 10. 5. 22:51
다음 SQL 쿼리를 사용하여 동물 보호소에 들어온 동물 중 두 번 이상 쓰인 이름과 해당 이름이 쓰인 횟수를 조회할 수 있습니다. 결과는 이름 순으로 정렬됩니다.
SELECT NAME, COUNT(NAME) AS NAME_COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME;
이 쿼리는 다음과 같은 작업을 수행합니다:
- ANIMAL_INS 테이블에서 이름이 NULL이 아닌 동물의 이름을 선택합니다.
- 선택한 이름들을 그룹화하고, 각 그룹의 이름과 해당 이름이 쓰인 횟수를 계산합니다.
- 이름이 두 번 이상 쓰인 동물의 결과만 필터링합니다(HAVING COUNT(NAME) >= 2).
- 결과를 이름 순으로 정렬합니다(ORDER BY NAME).
이렇게 하면 두 번 이상 쓰인 이름과 해당 횟수가 조회됩니다.