-
프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 [MySQL]문제 풀이/프로그래머스 2023. 6. 23. 14:48반응형
이 문제는 group by 를 이용하는 문제이다. 이 문제를 처음 풀때는 서브쿼리 없이 MAX 를 이용해서 SQL을 작성했는데, 이렇게 하면 MAX 는 해당 그룹, 즉 카테고리로 묶인 그룹에서 가격의 최댓값만을 알려줄뿐 해당 행까지 지정되지는 않아서 틀린 답으로 나오는 것 같았다. 그래서 카테고리로 묶은 그룹의 최댓값을 출력하는 서브쿼리를 작성하고, in 을 이용해서 해당 값을 포함하는 행을 전부 출력하면 정답이 나왔다.
SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME FROM FOOD_PRODUCT WHERE PRICE IN (SELECT MAX(PRICE) AS MAX_PRICE FROM FOOD_PRODUCT WHERE CATEGORY = '과자' OR CATEGORY = '국' OR CATEGORY = '김치' OR CATEGORY = '식용유' GROUP BY CATEGORY) AND CATEGORY IN ('과자', '국', '김치', '식용유') ORDER BY PRICE DESC;
반응형'문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 자동차 대여 기록에서 장기/단기 대여 구분하기 - 151138 [MySQL] (0) 2023.07.18 프로그래머스 - 자동차 대여 기록에서 대여중 / 대여 가능 여부 구분하기 [MySQL] (0) 2023.06.23 프로그래머스 - 동명 동물 수 찾기 [MySQL] (0) 2023.06.21 프로그래머스 - 저자 별 카테고리 별 매출액 집계하기 [MySQL] (0) 2023.06.21 프로그래머스 - 그룹별 조건에 맞는 식당 목록 출력하기 [MySQL] (0) 2023.06.21