SQL
[SQL 문제풀이] 식품분류별 가장 비싼 식품의 정보 조회하기-프로그래머스
illho
2023. 4. 13. 12:10
문제링크
FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요. 이때 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력시켜 주시고 결과는 식품 가격을 기준으로 내림차순 정렬해주세요.
https://school.programmers.co.kr/learn/courses/30/lessons/131116
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
1. 가장먼저 식품분류 기준으로 조건문을 작성하였다.
2. group by 를 category 기준으로 하여 각 식품분류 최대값을 구하는 select문을 만들었다.
3. food_product 테이블과 price , category 기준으로 join 하여 출력하였다.
4. 마지막으로 price 가격 기준으로 내림차순 정렬하였다.
쿼리
select
b.category , b.max_price , a.product_name
from food_product a ,
(
select
category , max(price) as max_price
from
food_product
where category in ('과자','국','김치','식용유')
group by category
) b
where a.price = b.max_price
and a.category = b.category
order by max_price desc
;