최대 1 분 소요

문제 링크

정답

-- ANIMAL_INS: ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE
SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count
FROM ANIMAL_INS
WHERE ANIMAL_TYPE IN ('Cat', 'Dog')
GROUP BY ANIMAL_TYPE
ORDER BY ANIMAL_TYPE
;

✅ Point

  • COUNT 에 기준이 될 column 넣기
  • 종류별로 집계하고 싶으면 GROUP BY는 필수
  • GROUP BY 없이 COUNT()만 쓰면 결과 해석이 잘못될 수 있음!
    • 만약 GROUP BY를 적용하지 않는다면?
      • 집계 함수(count)가 들어갔지만 그룹핑을 안 했기 때문에, MySQL은 무작위로 하나의 ANIMAL_TYPE을 대표로 출력하면서 전체 건수를 보여줌.