상세 컨텐츠

본문 제목

[프로그래머스] 동명 동물 수 찾기(SQL/GROUP BY)

PROGRAMMING/Database

by koharin 2021. 1. 9. 01:21

본문

728x90
반응형
SELECT NAME, COUNT(NAME) AS COUNT FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT > 1
ORDER BY NAME;

GROUP하는 조건을 줄 때는 WHERE을 쓰면 Invalid use of group function 오류가 뜬다.

따라서 HAVING으로 GROUP BY 조건을 준다.

  • 이름이 없는 것은 제외: WHERE에서 NAME이 NULL과 다른 조건 체크 (IS NOT NULL) COUNT(NAME)의 경우 NAME에서 NULL인 경우는 제외하고 개수를 세기 때문에 따로 NULL인 조건을 체크하지 않아도 된다.
  • SQL 구문 순서: 아래의 순서대로 작성한다.
SELECT column_name
FROM table_name
WHERE condition
GROUP BY column_name
HAVING group condition
ORDER BY column_name
  • COUNT(NAME) AS COUNT: COUNT로 칼럼 지칭
  • 그룹 조건은 동명이인이 있는 경우이므로 COUNT > 1인 경우 (COUNT(NAME)으로 지칭했으므로 COUNT > 1 가능한 것)
  • 이름 순으로 정렬하므로 ORDER BY 사용
728x90
반응형

관련글 더보기