단의 개발 블로그

식품분류별 가장 비싼 식품의 정보 조회하기 본문

Algorithm/SQL

식품분류별 가장 비싼 식품의 정보 조회하기

danso 2024. 8. 2. 20:58

💡 문제설명

다음은 식품의 정보를 담은 FOOD_PRODUCT 테이블입니다. FOOD_PRODUCT 테이블은 다음과 같으며 PRODUCT_ID, PRODUCT_NAME, PRODUCT_CD, CATEGORY, PRICE 식품 ID, 식품 이름, 식품코드, 식품분류, 식품 가격을 의미합니다.

💡 문제

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

 

예시

FOOD_PRODUCT 테이블이 다음과 같을

SQL 실행하면 다음과 같이 출력되어야 합니다.

 풀이

SELECT 
    CATEGORY,
    PRICE as MAX_PRICE,
    PRODUCT_NAME
FROM 
    (
        SELECT 
            CATEGORY,
            PRICE,
            PRODUCT_NAME,
            RANK() OVER (PARTITION BY CATEGORY ORDER BY PRICE DESC) as PRICE_RANKING
        FROM FOOD_PRODUCT
        WHERE CATEGORY IN ('과자', '국', '김치', '식용유')
    ) FP
WHERE PRICE_RANKING = 1
ORDER BY MAX_PRICE DESC

 

출처

https://school.programmers.co.kr/learn/challenges?tab=sql_practice_kit