프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설계
WHERE 절에 서브쿼리를 이용해서 카테고리로 그룹화하고 카테고리에서 가장 큰 가격을 뽑는다.
그리고 WHERE 절에서 뽑은 카테고리, 가격과 같은 것을 출력하기 위해 (CATEGORY, PRICE) IN을 이용한다.
문제 풀이
-- 코드를 입력하세요
SELECT CATEGORY,PRICE AS MAX_PRICE,PRODUCT_NAME
FROM FOOD_PRODUCT
WHERE (CATEGORY,PRICE) IN (SELECT CATEGORY, MAX(PRICE) PRICE
FROM FOOD_PRODUCT
WHERE CATEGORY IN ('과자','국','김치','식용유')
GROUP BY CATEGORY)
ORDER BY MAX_PRICE DESC;
정리
처음에 CATEGORY, PRICE IN 이렇게 했는데 오류가 떠서 당황했다.
IN연산자는 하나의 컬럼에 대해서만 사용가능
괄호를 이용해서 여러 컬럼을 튜플로 묶는다.
(CATEGORY, PRICE) IN
두 개 이상을 사용할 때는 괄호를 이용하도록 하자
'코딩테스트 > SQL' 카테고리의 다른 글
[프로그래머스 LV4][SQL] 년, 월, 성별 별 상품 구매 회원 수 구하기 (0) | 2025.04.16 |
---|---|
[프로그래머스 LV4][SQL] 저자 별 카테고리 별 매출액 집계하기 (0) | 2025.04.14 |
[프로그래머스 LV4][SQL] 언어별 개발자 분류하기 (1) | 2025.04.09 |
[프로그래머스 LV3][SQL] 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2025.04.06 |
[프로그래머스 LV3][SQL] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2025.04.05 |