MySQL 다중 정렬

오성민·2022년 11월 25일

MySQL

목록 보기
1/6
post-thumbnail

프로그래머스 MySQL lv.1 인기있는 아이스크림 문제를 풀면서 문제가 생겼다.

그것은 바로 문제에서 제시하는 조건이 다음과 같았다.

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

위와 같은 조건이 있었는데, 이 조건을 보면 총 주문량을 기준으로 1번 정렬하고, 만약 정렬한 기준의 값이 같다면 출하 번호를 기준으로 1번 더 정렬을 하라.
였다.

지금까지 개인 프로젝트를 진행하면서 정렬을 하더라도 1번만 정렬을 하는 것이였지만 처음으로 다중 정렬을 하려니 어떻게 해야할지 몰랐다.

다시 까먹지 않기 위해서 하는 방법을 정리한다.

다중 정렬(다중 ORDER BY)

다중 정렬을 할 때에는 정렬하는 우선 순위가 매우 중요하다.

문제에서 보면 총 주문량을 기준으로 정렬하고 그 값이 같다면 출하 번호를 기준으로 다시 한 번 정렬을 하라고 한다.

위와 같은 문제를 보면 쉽게 우선 순위를 알 수 있다.
총 주문량을 기준으로 정렬 > 총 주문량이 같다 > 출하 번호를 기준으로 정렬

위와 같다.

사용법

SELECT { 필요 column } FROM { 필요 table } ORDER BY
	{우선 순위가 높은 column} [asc / desc ]
    [, {우선 순위가 높은 column} [asc / desc ] ...]

위와 같은 방법으로 사용할 수 있다.

최종 답안

SELECT FLAVOR FROM first_half ORDER BY
	total_order DESC, shipment_id ASC;

위와 같이 제출하였다.

profile
풀스택을 지향하는 개발자

0개의 댓글