1. 문제 풀이 아이디어
- 서브쿼리와
IN
키워드를 사용하여 문제를 해결할 수 있다.
2. 나의 정답 코드
SELECT
category,
price,
product_name
FROM
food_product
WHERE
(category, price) IN (
SELECT
category,
MAX(price)
FROM
food_product
WHERE
category IN ('과자', '국', '김치', '식용유')
GROUP BY
category
)
ORDER BY
price DESC;
3. 정리
IN
키워드를 활용해category
를'과자', '국', '김치', '식용유'
로 필터링한 후,GROUP BY
절로category
별로 그룹화하고MAX
함수를 사용해 각 그룹의 최대price
를 계산한다.
- 서브쿼리에서 반환된
(category, MAX(price))
와 동일한 행을IN
키워드를 통해 필터링한 뒤,price
를 기준으로 내림차순 정렬하여 결과를 출력한다.
Share article