[programmers/oracle] 프로그래머스 GROUP BY 성분으로 구분한 아이스크림 총 주문량
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/133026
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL문을 작성해주세요. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요
내가 풀어본 오라클 정답
SELECT B.INGREDIENT_TYPE, SUM(A.TOTAL_COLOR) AS TOTAL_ORDER FROM FIRST_HALF A, ICECREAM B WHERE 1=1 AND A.FLAVOR = B.FLAVOR GROUP BY B.INGREDIENT_TYPE ORDER BY TOTAL_ORDER ASC |
정리
1. 접근할때 무조건 쪼개서! 맨 앞에 나오는 '아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을' 먼저 접근
[상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 /총주문량이 작은 순서대로 조회하는 SQL문을 작성해주세요. /이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정해주세요] - 이런식으로 쪼개기
2. INGREDIENT_TYPE 성분타입은 ICECREAM_INFO 테이블에 있다면 TOTAL_ORDER 총주문량은 FIRST_HALF 테이블에 있기 때문에 먼저 조인해준다 -> "ICECREAM_INFO의 기본 키는 FLAVOR입니다. ICECREAM_INFO테이블의 FLAVOR는 FIRST_HALF 테이블의 FLAVOR의 외래 키입니다." 라는 설명이 있다 -> FLAVOR로 조인해준다
SELECT * FROM FIRST_HALF A, ICECREAM B WHERE 1=1 AND A.FLAVOR = B.FLAVOR |
3.성분타입에 대한 아이스크림의 총주문량이 이기때문에 성분타입 INGREDIENT_TYPE를 GROUP BY에 넣어주고 집계함수 SUM을 사용하여 총주문량TOTAL_ORDER 을 감싼다 -> SUM(A.TOTAL_ORDER)
SELECT B.INGREDIENT_TYPE , SUM(A.TOTAL_ORDER) FROM FIRST_HALF A, ICECREAM_INFO B WHERE 1=1 AND A.FLAVOR = B.FLAVOR GROUP BY B.INGREDIENT_TYPE |
4. '총주문량이 작은순서대로 조회'
: ORDER BY 사용
SELECT B.INGREDIENT_TYPE, SUM(A.TOTAL_COLOR) FROM FIRST_HALF A, ICECREAM B WHERE 1=1 AND A.FLAVOR = B.FLAVOR GROUP BY B.INGREDIENT_TYPE ORDER BY TOTAL_ORDER ASC |
5. '이때 총 주문량을 나타내는 컬럼은 TOTAL_ORDER 로 지정해주세요 '
SELECT B.INGREDIENT_TYPE, SUM(A.TOTAL_COLOR) AS TOTAL_ORDER FROM FIRST_HALF A, ICECREAM B WHERE 1=1 AND A.FLAVOR = B.FLAVOR GROUP BY B.INGREDIENT_TYPE ORDER BY TOTAL_ORDER ASC |
완성 끝 -
'IT > 프로그래머스 - SQL' 카테고리의 다른 글
[programmers/oracle] GROUP BY 진료과별 총 예약 횟수 출력하기 (0) | 2023.07.19 |
---|---|
[programmers/oracle] GROUP BY 카테고리별 도서 판매량 집계하기 (0) | 2023.07.18 |
[programmers/oracle] GROUP BY 즐겨찾기가 가장 많은 식당 정보 출력하기 (0) | 2023.07.17 |
[programmers/oracle] group by 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 (0) | 2023.07.17 |
[programmers/oracle] 프로그래머스 GROUP BY 저자 별 카테고리 별 매출액 집계하기 (0) | 2023.07.05 |