Algorithm/Programmers SQL

[MySQL] 프로그래머스 식품분류별 가장 비싼 식품의 정보 조회하기

제우제우 2024. 9. 19. 15:57

https://school.programmers.co.kr/learn/courses/30/lessons/131116

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

코딩테스트 연습 > GROUP BY > 식품분류별 가장 비싼 식품의 정보 조회하기

문제 분석

난이도: LEVEL4

 

문제 요구사항

FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요. 이때 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력시켜 주시고 결과는 식품 가격을 기준으로 내림차순 정렬해주세요.

정답 코드

WITH CATEGORY_MAX AS (
    SELECT CATEGORY, MAX(PRICE) MAX_PRICE
    FROM FOOD_PRODUCT
    GROUP BY CATEGORY
)
SELECT P.CATEGORY, M.MAX_PRICE,	P.PRODUCT_NAME
FROM FOOD_PRODUCT P JOIN CATEGORY_MAX M 
ON P.CATEGORY = M.CATEGORY AND P.PRICE = M.MAX_PRICE
WHERE P.CATEGORY IN ('과자', '국', '김치', '식용유')
ORDER BY 2 DESC