본문 바로가기
개발일지/코테 정복기

[프로그래머스/SQL] 인기있는 아이스크림 (Oracle)

by 리콩알 2023. 7. 1.
반응형

문제설명

FIRST_HALF 테이블은 아이스크림 가게의 상반기 주문 정보를 담은 테이블입니다.
FIRST_HALF 테이블 구조는 다음과 같으며,  SHIPMENT_ID, FLAVOR, TOTAL_ORDER
는 각각 아이스크림 공장에서 아이스크림 가게까지의 출하 번호, 아이스크림 맛, 상반기 아이스크림 총주문량을 나타냅니다.

 COLUMN NAME  TYPE  NULLABLE
 SHIPMENT_ID  INT(N)  FALSE
 FLAVOR  VARCHAR(N)  FALSE
 TOTAL_ORDER  INT(N)  FALSE

 

문제

상반기에 판매된 아이스크림의 맛을 총주문량을 기준으로 내림차순 정렬하고 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요.

 

예시

예를 들어 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, varamel, peach, watermelon, mint_chocolate 순서대로 조회되어야 합니다. 따라서 SQL문을 실행하면 다음과 같이 나와야 합니다.

 FLAVOR
 chocolate
 melon
 white_chocolate
 strawberry
 mango
 orange
 pineapple
 vanilla
 caramel
 peach
 watermelon
 mint_chocolate

 

풀이

1. 상반기에 판매된 아이스크림의 맛을

2. 총주문량을 기준으로 내림차순 정렬하고

3. 총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬하여 조회하는 SQL 문을 작성해주세요.

SELECT FLAVOR 
  FROM FIRST_HALF
 ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID

 

코드 풀이

SELECT FLAVOR --아이스크림의 맛 기준으로 조회
  FROM FIRST_HALF --상반기 주문 정보 테이블
 ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID
 /* 총주문량(TOTAL_ORDER) 기준으로 DESC(내림차순) 정렬 후,
    출하 번호 기준으로(SHIPMENT_ID) 오름차순 정렬 */

 

 

문제출처

https://school.programmers.co.kr/learn/courses/30/lessons/133024

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

반응형