SQL/GROUP BY
[프로그래머스 SQL] Lv.4 - 식품분류별 가장 비싼 식품의 정보 조회하기
이런개발
2025. 3. 31. 09:14
https://school.programmers.co.kr/learn/courses/30/lessons/131116
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
- WHERE 절에서 튜플과 서브쿼리를 사용하여 식품분류별 가격이 제일 비싼 행을 필터링한다.
- 서브쿼리는 식품 분류가 과자, 국, 김치, 식용유인 행을 필터링하여 식품 분류로 그룹핑을 해주고, 식품분류와 MAX 키워드로 가장 비싼 가격을 조회한다.
- 식품 분류와 가격이 서브쿼리에서 조회 결과의 포함되는 행을 필터링한다.
- 식품 분류와 가격, 이름을 조회한다.
- 식품 가격을 기준으로 내림차순 정렬한다.
SELECT
CATEGORY,
PRICE AS MAX_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
2 DESC