반응형
풀이 (MySQL)
중복된 이름의 동물의 수를 조회해야 한다. 단, 중복되지 않은 것을 모두 제외해야 하고 이름이 NULL인 것을 조회하면 안 된다.
이름별로 묶어 세야 하므로 GROUP BY와 COUNT를 이용해야 하고, 그 COUNT된 컬럼의 수가 2이상인 조건을 걸어줘야 한다. 여기서, WHERE이 아닌 HAVING에 입력해야 하는데 WHERE에 조건을 입력하면 Unknown column 'COUNT' in 'where clause' 과 같은 오류가 발생할 것이다. 이 예외는 SELECT 절 이전에 WHERE절이 실행되기 때문인데, 자세한 것은 아래 포스팅을 참고하길 바란다.
SELECT
NAME
, COUNT(ANIMAL_ID) AS COUNT
FROM
ANIMAL_INS
WHERE
NAME IS NOT NULL
GROUP BY
NAME
HAVING
COUNT > 1
ORDER BY
NAME
반응형
'SQL 쿼리 연습 > GROUP BY' 카테고리의 다른 글
[Lv.2 / 프로그래머스 / SQL] 재구매가 일어난 상품과 회원 리스트 구하기 (0) | 2023.07.31 |
---|---|
[Lv.3 / 프로그래머스 / SQL] 조건에 맞는 사용자와 총 거래금액 조회하기 (0) | 2023.04.16 |
[Lv.2 / 프로그래머스 / SQL] 입양 시각 구하기(1) (0) | 2023.04.04 |
[Lv.3 / 프로그래머스 / SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.03.02 |
[Lv.2 / 프로그래머스 / SQL] 고양이와 개는 몇 마리 있을까 (0) | 2023.02.14 |