본문 바로가기
SQL/프로그래머스 문제풀이

[MySQL Level 1] 인기있는 아이스크림 문제 풀이

by Delants 2023. 7. 31.

문제 설명

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

NAME TYPE NULLABLE

SHIPMENT_ID INT(N) FALSE
FLAVOR VARCHAR(N) FALSE
TOTAL_ORDER INT(N) FALSE

문제

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


-- 해당 문제의 정답입니다.
SELECT FLAVOR 
FROM FIRST_HALF
ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC; 

// 해당 문제의 키포인트는 order by절 정렬입니다. 
// 먼저 정렬하고자 하는 칼럼을 order by절 첫번째에 기재합니다.
// 해당 정렬한 결과값이 동일할 경우, 그 다음 단계 기준 칼럼을 다음에 기재합니다.
// 여기서 desc를 붙이면 내림차순 정렬이 되며, asc는 오름차순 정렬입니다.
// 기본값은 asc이며, 생략할 수 있습니다.
  • 해당 문제의 경우 주어진 테이블로 간단한 정렬을 수행하는 문제로 매우 쉬운 난이도입니다.
  • level 1인 만큼, 정렬에 대한 기초를 다지기 좋은 문제라고 볼 수 있겠습니다.
  • 조금 더 업그레이드된 난이도로 가면 조건에 따른 분할 정렬 즉, partition by~절을 활용한 윈도우 함수 정렬이 나올 수 있을 것입니다.

댓글