인기있는 아이스크림
https://school.programmers.co.kr/learn/courses/30/lessons/133024
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1) 문제
FIRST_HALF 테이블은 아이스크림 가게의 상반기 주문 정보를 담은 테이블입니다.
FIRST_HALF 테이블 구조는 다음과 같으며,
SHIPMENT_ID, FLAVOR, TOTAL_ORDER는
각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛,
상반기 아이스크림 총주문량을 나타냅니다.
FIRST_HALF 테이블 구조는 다음과 같으며,
SHIPMENT_ID, FLAVOR, TOTAL_ORDER는
각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛,
상반기 아이스크림 총주문량을 나타냅니다.
상반기에 판매된 아이스크림의 맛을 총주문량을 기준으로 내림차순 정렬하고
총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요.
총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요.
NAME | TYPE | NULLABLE |
---|---|---|
SHIPMENT_ID | INT(N) | FALSE |
FLAVOR | VARCHAR(N) | FALSE |
TOTAL_ORDER | INT(N) | FALSE |
2) 예시
예를 들어 FIRST_HALF 테이블이 다음과 같다면
SHIPMENT_ID | FLAVOR | TOTAL_ORDER |
---|---|---|
101 | chocolate | 3200 |
102 | vanilla | 2800 |
103 | mint_chocolate | 1700 |
104 | caramel | 2600 |
105 | white_chocolate | 3100 |
106 | peach | 2450 |
107 | watermelon | 2150 |
108 | mango | 2900 |
109 | strawberry | 3100 |
110 | melon | 3150 |
111 | orange | 2900 |
112 | pineapple | 2900 |
상반기 아이스크림 맛을 총주문량을 기준으로 내림차순 정렬하고
총주문량이 같은 경우 출하 번호를 기준으로 오름차순 정렬하면
chocolate, melon, white_chocolate, strawberry, mango, orange, pineapple, vanilla, caramel, peach, watermelon, mint_chocolate 순서대로 조회되어야 합니다.
따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.
FLAVOR |
---|
chocolate |
melon |
white_chocolate |
strawberry |
mango |
orange |
pineapple |
vanilla |
caramel |
peach |
watermelon |
mint_chocolate |
3) 풀이
1. 맛을 조회합니다.
● SELECT FLAVOR FROM FIRST_HALF
2. 총 주문수의 내림차순으로 정렬합니다.
● ORDER BY TOTAL_ORDER DESC
※ORDER BY A, B
A 순서대로 정렬 후, A값이 같다면 B 순서로 진행됩니다.
3. 총 주문수가 같다면 출하번호 오름차순으로 정렬합니다.
● SHIPMENT_ID ASC;
4) 코드
SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;
'Programmers Coding Test > MySQL' 카테고리의 다른 글
[프로그래머스 151136] MySQL - Level1 평균 일일 대여 요금 구하기 (0) | 2023.08.17 |
---|---|
[프로그래머스 144853] MySQL - Level1 조건에 맞는 도서 리스트 출력하기 (0) | 2023.08.17 |
[프로그래머스 132201] MySQL - Level1 12세 이하인 여자 환자 목록 출력하기 (0) | 2023.08.16 |
[프로그래머스 132203] MySQL - Level1 흉부외과 또는 일반외과 의사 목록 출력하기 (0) | 2023.08.16 |
[프로그래머스 131535] MySQL - Level1 조건에 맞는 회원수 구하기 (0) | 2023.08.16 |