자료구조 및 알고리즘/프로그래머스

프로그래머스 - 식품분류별 가장 비싼 식품의 정보 조회하기 (SQL)

viamemine 2024. 4. 19. 15:35
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/131116

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

💬 내가 작성한 SQL 코드 (틀린 코드)

# max로 조회하면 해당 컬럼에 대한 값만 나올뿐 행 전체가 나오지 않는다. 
# 그래서 서브 쿼리로 걸러주고 조회해야한다.

SELECT CATEGORY, MAX(PRICE) AS MAX_PRICE, PRODUCT_NAME  
FROM FOOD_PRODUCT
WHERE CATEGORY IN ('과자', '국', '김치', '식용유')
GROUP BY CATEGORY
ORDER BY PRICE DESC;

 

💬 개선한 SQL 코드 (정답 코드)

SELECT CATEGORY, PRICE AS MAX_PRICE, PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE PRICE IN (
    SELECT MAX(PRICE)
    FROM FOOD_PRODUCT
    GROUP BY CATEGORY
)
AND CATEGORY IN ('과자', '국', '김치', '식용유')
ORDER BY MAX_PRICE DESC;

 

쉬운 코드라고 생각했는데, sub query로 해결해야 하는 문제였다.

 

 

728x90