프로그래머스 문제
https://school.programmers.co.kr/learn/courses/30/lessons/298519
풀이
https://school.programmers.co.kr/questions/74349
-- 풀이 쿼리
SELECT COUNT(FISH_TYPE) AS FISH_COUNT
, MAX(LENGTH) AS MAX_LENGTH
, FISH_TYPE
FROM FISH_INFO
GROUP BY FISH_TYPE
HAVING AVG(IFNULL(LENGTH, 10)) >= 33
ORDER BY FISH_TYPE
크게 어려울 것은 없는 문제였지만, 한가지 주의할 점이 있다(본인만 주의하면 될 듯...ㅎ)
그건 바로 WHERE절엔 집계함수를 쓸 수 없다는 것.
여러번 이 때문에 헤매었음에도 돌아서면 까먹는달까...
그러니까, AVG(IFNULL(LENGTH, 10)) >= 33 이 조건을
WHERE절에 쓰면 안 된다는 것이다. 본인은 이걸 까먹고 왜 틀렸지 한 10분 생각했었다.
다시 한번 되새기자.
WHERE 절엔 집계함수를 사용할 수 없다!
'코딩테스트 > SQL - 프로그래머스' 카테고리의 다른 글
연도별 대장균 크기의 편차 구하기 (0) | 2024.03.30 |
---|---|
우유와 요거트가 담긴 장바구니 (0) | 2024.03.30 |
SQL 고득점 kit(JOIN) - 상품을 구매한 회원 비율 구하기 (0) | 2024.03.22 |
SQL 고득점 kit(JOIN) - 5월 식품들의 총매출 조회하기 (0) | 2024.03.20 |
SQL 고득점 kit(JOIN) - 특정 기간동안 대여 가능한 자동차들의 대여비용 구하기 (2) | 2024.03.14 |