반응형
프로그래머스 SQL 고득점 Kit SELECT에서 '성분으로 구분한 아이스크림 총 주문량' 문제와 답입니다.
*이 글은 MySQL 버전입니다.
성분으로 구분한 아이스크림 총 주문량 문제 설명
- 문제 의도: GROUP BY 사용
- 외래키가 참조하는 대상은 해당 테이블에서 기본키이다.
그래서 ICECREAM_INFO테이블의 FLAVOR가 기본키이다.
성분으로 구분한 아이스크림 총 주문량 문제
- 성분 타입, 성분 타입 별 총 주문량(별칭 필요, TOTAL_ORDER) 출력.
- 총 주문량 작은 순서 정렬.
성분으로 구분한 아이스크림 총 주문량 답
# 두 테이블의 컬럼들 가져오기
- first_half와 icecream_info 두 테이블 선택, 편의상 a와 b로 별칭.
- first_half와 icecream의 공통값 flavor를 필터링 기준으로 선택, 이는 교집합 INNER JOIN과 같음.
- GROUP BY ingredient_type: 성분 타입 별 총 주문량 및 정렬 위해, 성분 타입 그룹화.
- 성분 타입 별 총 주문량이므로 SUM 이용.
- 총 주문량(=SELECT문 2번째 컬럼) 기준 오름차순 정렬이므로, ORDER BY 2;
SELECT
ingredient_type, SUM(total_order) TOTAL_ORDER
FROM
first_half a,
icecream_info b
WHERE
a.flavor = b.flavor
GROUP BY ingredient_type
ORDER BY 2;
# INNER JOIN 사용한 같은 답
- INNER JOIN 시 INNER 생략 가능
SELECT
ingredient_type, SUM(total_order) TOTAL_ORDER
FROM
first_half a
JOIN
icecream_info b ON a.flavor = b.flavor
GROUP BY ingredient_type
ORDER BY 2;
반응형
'SQL > 프로그래머스 SQL' 카테고리의 다른 글
MySQL 프로그래머스 SQL 고득점 Kit 입양 시각 구하기(1) 문제 답 (0) | 2023.09.25 |
---|---|
MySQL 프로그래머스 SQL 고득점 Kit 고양이와 개는 몇 마리 있을까 문제 답 (0) | 2023.09.19 |
MySQL 프로그래머스 SQL 고득점 Kit 동명 동물 수 찾기 문제 답 (0) | 2023.09.14 |
MySQL 프로그래머스 SQL 고득점 Kit 최솟값 구하기 문제 답 (0) | 2023.09.08 |
MySQL 프로그래머스 SQL 고득점 Kit 오프라인/온라인 판매 데이터 통합 문제 답 (0) | 2023.09.08 |