728x90
문제
FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요. 이때 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력시켜 주시고 결과는 식품 가격을 기준으로 내림차순 정렬해주세요.
풀이
SELECT CATEGORY
, PRICE
, PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE (CATEGORY, PRICE) IN (SELECT CATEGORY, MAX(PRICE)
FROM FOOD_PRODUCT
GROUP BY CATEGORY)
AND CATEGORY IN ('과자', '국', '김치', '식용유')
ORDER BY PRICE DESC
WHERE (CATEGORY, PRICE) IN (SELECT CATEGORY, MAX(PRICE)
FROM FOOD_PRODUCT
GROUP BY CATEGORY)
식품분류별 가격이 제일 비싼 식품을 서브쿼리로 추출한 이 부분이 핵심인 것 같다.
728x90
'IT > SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 GROUP BY 10 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (0) | 2023.10.01 |
---|---|
[MySQL] 프로그래머스 GROUP BY 09 자동차 종류별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.10.01 |
[MySQL] 프로그래머스 GROUP BY 07 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2023.10.01 |
[MySQL] 프로그래머스 GROUP BY 06 진료과별 총 예약 횟수 출력하기 (0) | 2023.10.01 |
[MySQL] 프로그래머스 GROUP BY 05 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.10.01 |