[프로그래머스_SQL] 식품분류별 가장 비싼 식품의 정보 조회하기
📜문제
https://school.programmers.co.kr/learn/courses/30/lessons/131116
📜정답
SELECT CATEGORY,PRICE AS MAX_PRICE,PRODUCT_NAME FROM FOOD_PRODUCT
WHERE PRICE IN(
SELECT MAX(PRICE) FROM FOOD_PRODUCT
GROUP BY CATEGORY)AND CATEGORY IN('과자','국','김치','식용유')
ORDER BY MAX_PRICE DESC
📜노트
처음에 작성했던 코드로 오답
이다.
SELECT CATEGORY,MAX(PRICE)AS MAX_PRICE,PRODUCT_NAME FROM FOOD_PRODUCT
GROUP BY CATEGORY HAVING CATEGORY IN('과자','국','김치','식용유')
ORDER BY MAX_PRICE DESC
MAX로 조회하면 PRICE값만 나올 뿐 행 전체가 MAX값에 맞춰 나오지 않는다.
때문에 서브쿼리
를 사용해 MAX(PRICE)값을 조회하고 그 조회한 값을 기준으로 CATEGORY,MAX_PRICE,PRODUCT_NAME를 조회해야 한다.