문제 설명
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~절을 활용한 윈도우 함수 정렬이 나올 수 있을 것입니다.

'SQL > 프로그래머스 문제풀이' 카테고리의 다른 글
| [MySQL Level 1] '강원도에 위치한 생산 공장' 문제 풀이 (0) | 2023.08.01 |
|---|---|
| [MySQL Level 1] '이름이 있는 동물의 아이디' 문제 풀이 (0) | 2023.07.31 |
댓글