사용 언어 - MYSQL
프로그래머스 LV 2) 동명 동물 수 찾기
정답
GROUP BY (정답 맞춘 여부 O)
동물 이름별 횟수를 조회해야하기 때문에 동물이름으로 GROUP BY
그루핑 한 결과에서 이름이 두번 이상 쓰인 경우는 HAVING 조건에서 거르기
HAVING COUNT(NAME) > 1
HAVING COUNT(NAME) >= 2
SELECT NAME, COUNT(ANIMAL_ID) AS COUNT
FROM ANIMAL_INS
GROUP BY NAME
HAVING COUNT(NAME) > 1
ORDER BY NAME
WHERE NAME IS NOT NULL
이름이 없는 동물은 집계에서 제외하기
IS NOT NULL 을 왜 안써도 정답이지..? 이유는 COUNT(칼럼명)이었기 때문!
COUNT(칼럼) = 칼럼 값이 NULL이면 0으로 카운트
COUNT(*) = 데이터 값과 상관없이 ROW 자체 카운트 NULL이어도 한 건으로 카운트
SELECT NAME, COUNT(NAME) AS COUNT
FROM ANIMAL_INS
WHERE NAME IS NOT NULL
GROUP BY NAME
HAVING COUNT(NAME) >= 2
ORDER BY NAME
레퍼런스
- 정답 깃허브
'Stay Hungry Stay Foolish > SQL' 카테고리의 다른 글
[MYSQL] 가격대 별 상품 개수 구하기 (0) | 2023.06.18 |
---|---|
[MYSQL] 입양 시각 구하기(1) (0) | 2023.06.18 |
[MYSQL] 고양이와 개는 몇 마리 있을까 (0) | 2023.06.18 |
[MYSQL] 진료과별 총 예약 횟수 출력하기 (0) | 2023.06.16 |
[MYSQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.06.13 |
댓글