Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- SQL
- PS
- atcoder beginner contest
- 프로그래밍대회
- 파이썬
- atcoder
- cp
- contest395
- 프로그래머스
- pasql
- 경쟁적프로그래밍
- 코테
- 아픈 동물 찾기
- Python
- contest397
- cp초보
- 코딩테스트
- ABC
- 집계함수
- 어린 동물 찾기
- PCSQL
- SQL문제
- MIN
Archives
- Today
- Total
노아
[프로그래머스] 식품분류별 가장 비싼 식품의 정보 조회하기 본문
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 |