

SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME
FROM ( SELECT *,
RANK() OVER (PARTITION BY CATEGORY ORDER BY PRICE DESC) AS RNK
FROM FOOD_PRODUCT
WHERE CATEGORY IN ('과자', '국', '김치','식용유')
) RANKED
WHERE RNK = 1
ORDER BY PRICE DESC;
* 풀이
다른 풀이로 풀고 맞았지만, 코드가 효율적이지 못 하다고 생각되어 윈도우 함수로 다시 풀어서 제출했다!
- RANK() 함수의 구조
RANK() OVER (PARTITION BY 그룹핑 할 컬럼명 ORDER BY 컬럼명 ASC/DESC)
'💻 프로그래밍 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 - 카테고리 별 도서 판매량 집계하기 (3) | 2025.04.01 |
|---|---|
| 프로그래머스 - 금과 은 운반하기 (0) | 2025.04.01 |
| 프로그래머스 - 저자 별 카테고리 별 매출액 집계하기 (0) | 2025.03.26 |
| 프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 (1) | 2025.03.24 |
| 프로그래머스 - 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2025.03.24 |