문제
https://programmers.co.kr/learn/courses/30/lessons/59041
풀이
SELECT NAME, COUNT(NAME) FROM ANIMAL_INS
GROUP BY NAME HAVING COUNT(NAME) > 1 ORDER BY NAME
- WHERE 는 집계함수를 사용 할 수 없다.
- HAVING 은 집계함수를 가지고 조건비교를 할 때 사용한다.
- HAVING 은 GROUP BY 와 함께 사용 된다.
추가로, HAVING COUNT > 1 은 왜 틀리냐는 질문을 발견했다.
GROUP BY NAME의 경우, NAME이 NULL인 값들도 그룹으로 포함됩니다.
그래서 COUNT(NAME)으로 NULL을 제외시켜주어야 올바른 결과가 나오나보다.
댓글남기기