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

이 문제는 내림차순, 오름차순을 이용해야 하므로 다시 한번 되짚어보자면..
오름차순(Ascending) = ASC
- 작은 값에서 큰 값으로 점점 올라가기 (1, 2, 3, 4... )
내림차순(Descending) = DESC
- 큰 값에서 작은 값으로 점점 내려가기 (4, 3, 2, 1... )
이걸 ORDER BY 와 함께 사용해서 정렬할 수 있다
ORDER BY 는 SELECT 문의 가장 하단에 위치해야 한다
근데 아무것도 없이 ORDER BY TOTAL_ORDER 을 한다면 기본값은 오름차순이라, 작은 값부터 정렬된다
그리고 정렬을 여러 번 할 수 있는데 순서대로 진행돼서
ORDER BY A DESC, B ASC 하면
우선 A를 기준으로 내림차순 정렬 후, 그 정렬된 값에 대하여 B를 기준으로 다시 오름차순 정렬을 한다
문제로 돌아가서...
'상반기에 판매된 아이스크림의 맛을' 출력해야 하므로
일단 SELECT FLAVOR FROM FIRST_HALF 일 것이고
총주문량을 기준으로 내림차순 정렬
-> ORDER BY TOTAL_ORDER DESC,
총주문량이 같다면 출하 번호를 기준으로 오름차순 정렬
-> SHIPMENT_ID ASC
이니까 정답은
SELECT FLAVOR FROM FIRST_HALF ORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;
'▪️알고리즘' 카테고리의 다른 글
| [프로그래머스] 폰켓몬 (Java) (2) | 2026.05.29 |
|---|