-- 흠 우선 아직 확실하게 이해했다기보단 대략적으로 이해했다고 보면 될 듯하다
-- MAX()메서드는 GROUP BY를 커버하지 못한다고 한다.
-- 그래서 운 좋게 맞아 떨어질지 몰라도 원하는 대로 조회가 되지 않을 수 있기에
-- 아래와 같이 WHERE절에 CATEGORY을 그룹으로 해서 해당 값에 포함되면
-- 조회하는 거로 하는데
-- 조금 더 생각해보니까 한번의 과정이 더 필요했던게 아닐까 싶다
SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE PRICE IN (SELECT MAX(PRICE) FROM FOOD_PRODUCT GROUP BY CATEGORY)
GROUP BY CATEGORY
HAVING CATEGORY IN ('과자', '국', '김치', '식용유')
ORDER BY MAX_PRICE DESC
'SQL' 카테고리의 다른 글
[프로그래머스] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.07.13 |
---|---|
[프로그래머스] 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.07.13 |
[프로그래머스] 성분으로 구분한 아이스크림 총 주문량 (0) | 2023.07.12 |
[프로그래머스] 저자 별 카테고리 별 매출액 집계하기 (0) | 2023.07.12 |
[프로그래머스] 중복 제거하기 (0) | 2023.07.11 |