-
[프로그래머스] 성분으로 구분한 아이스크림 총 주문량 - MySQLDataBase/MySQL 2023. 2. 1. 19:29
문제 설명
아이스크림 가게의 상반기 주문정보(출하 번호, 아이스크림 맛, 총주문량)을 담은 테이블과 아이스크림 정보(맛, 성분타입)을 담은 테이블이 주어졌을 때,
상반기 동안 각 아이스크림 성분 타입과 성분 타입에 대한 아이스크림의 총주문량을 총주문량이 작은 순서대로 조회하는 SQL 문을 작성하는 문제. 이때 총주문량을 나타내는 컬럼명은 TOTAL_ORDER로 지정한다.
https://school.programmers.co.kr/learn/courses/30/lessons/133026
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 알고리즘 분류 - GROUP BY
- 난이도 - Level 2
관련 개념
콤마(,)와 INNER JOIN의 차이점
https://heestory0324.tistory.com/56
[SQL] FROM 콤마(,)와 INNER JOIN의 차이점
SQL에서 두 개 이상의 테이블을 동시에 다루고자 할 때, 콤마(,)와 inner join은 기능적으로 동일하다. 둘 다 Cartesian Product을 수행하기 때문이다. 즉, 첫번째 테이블의 모든 열은 두번째 테이블의 모
heestory0324.tistory.com
접근 방법
두 테이블을 INNER JOIN 한 후, GROUP BY 절과 SUM을 사용해 INGREDIENT_TYPE 별 총 주문량을 구하고 정렬한다.
답안 코드 1. 콤마(,) 사용
SELECT ICECREAM_INFO.INGREDIENT_TYPE, SUM(FIRST_HALF.TOTAL_ORDER) AS TOTAL_ORDER FROM FIRST_HALF, ICECREAM_INFO WHERE FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR GROUP BY ICECREAM_INFO.INGREDIENT_TYPE ORDER BY SUM(FIRST_HALF.TOTAL_ORDER)
답안 코드 2. INNER JOIN 사용
SELECT ICECREAM_INFO.INGREDIENT_TYPE, SUM(FIRST_HALF.TOTAL_ORDER) AS TOTAL_ORDER FROM FIRST_HALF INNER JOIN ICECREAM_INFO ON FIRST_HALF.FLAVOR = ICECREAM_INFO.FLAVOR GROUP BY ICECREAM_INFO.INGREDIENT_TYPE ORDER BY SUM(FIRST_HALF.TOTAL_ORDER)
'DataBase > MySQL' 카테고리의 다른 글
[MySQL] DATE_FORMAT() - 날짜 데이터의 출력 형식을 지정하는 함수 (0) 2023.02.12 [프로그래머스] 주문량이 많은 아이스크림들 조회하기 - MySQ (0) 2023.02.02 [프로그래머스] 과일로 만든 아이스크림 고르기 - MySQL (0) 2023.02.01 [프로그래머스] 인기있는 아이스크림 - MySQL (0) 2023.02.01 [MySQL] MySQL 8.0 비밀번호 분실 시 해결 방법(in Windows) (1) 2020.12.08