노아
[프로그래머스] 식품분류별 가장 비싼 식품의 정보 조회하기 본문
Question
FOOD_PRODUCT 테이블에서 식품분류별로 가격이 제일 비싼 식품의 분류, 가격, 이름을 조회하는 SQL문을 작성해주세요. 이때 식품분류가 '과자', '국', '김치', '식용유'인 경우만 출력시켜 주시고 결과는 식품 가격을 기준으로 내림차순 정렬해주세요.
Pseudocode
- 서브쿼리에서 FOOD_PRODUCT 테이블을 CATEGORY별로 그룹화하여 각 카테고리의 최대 가격(MAX_PRICE)을 계산.
- 이 서브쿼리 결과를 F2라는 별칭으로 저장.
- FOOD_PRODUCT 테이블을 F2와 CATEGORY를 기준으로 조인.
- FOOD_PRODUCT 테이블의 PRICE가 서브쿼리에서 계산한 MAX_PRICE와 같은 행을 필터링.
- CATEGORY가 '과자', '국', '김치', 또는 '식용유'인 카테고리만 선택.
- MAX_PRICE를 기준으로 내림차순 정렬.
- 결과로 CATEGORY, MAX_PRICE, PRODUCT_NAME을 선택.
Code
SELECT F2.CATEGORY, MAX_PRICE, PRODUCT_NAME
FROM FOOD_PRODUCT F1 JOIN (
SELECT CATEGORY, MAX(PRICE) AS MAX_PRICE
FROM FOOD_PRODUCT
GROUP BY CATEGORY) AS F2
ON F1.CATEGORY = F2.CATEGORY
WHERE F1.PRICE = MAX_PRICE
AND F2.CATEGORY IN('과자', '국', '김치', '식용유')
ORDER BY MAX_PRICE DESC
'알고리즘 > SQL' 카테고리의 다른 글
[프로그래머스] 가격대 별 상품 개수 구하기 (0) | 2024.09.17 |
---|---|
[프로그래머스] 5월 식품들의 총매출 조회하기 (0) | 2024.09.17 |
[프로그래머스] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.09.16 |
[프로그래머스] 조건에 맞는 도서 리스트 출력하기 (0) | 2024.09.16 |
[프로그래머스] 루시와 엘라 찾기 (0) | 2024.09.16 |