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

s2ul3·2022년 11월 4일
0
post-custom-banner

문제링크

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

문제설명

알고리즘

  • 부속질의를 사용하여 category가 과자, 국, 김치, 식용유인 식품들을 category 별로 그룹화 하여 각 category별 price의 최댓값과 그때의 category를 return 하게 했다.

  • 부속질의 결과 여러 튜플이 return 되므로 다중행 연산자인 IN 사용.

  • 부속질의 결과 두개의 속성 CATEGORY와 MAX(PRICE)가 RETURN되므로
    이 결과를 받을 때도 두개의 속성으로 받아야함. (CATEGORY, PRICE)

WHERE (CATEGORY, PRICE) IN (SELECT CATEGORY, MAX(PRICE)
                FROM FOOD_PRODUCT
                WHERE CATEGORY IN ('과자', '국', '김치', '식용유')
                GROUP BY CATEGORY)

코드

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 PRICE DESC
profile
statistics & computer science
post-custom-banner

0개의 댓글