RDBS/MYSQL

[MYSQL]ORDER BY절의 다중 정렬

MoonSta 2023. 1. 16. 10:36

ORDER BY절의 다중 정렬

MySQL에서는 ORDER BY절을 사용하여 정렬 순서를 지정할 수 있다. ASC(오름차순) 및 DESC(내림차순)을 사용하며, 기본적인 문법은 다음과 같다.

 

SELECT *
   FROM 테이블
  ORDER BY SAL DESC(내림차순)
                ASC(오름차순)

 

ORDER BY절 예제

ID NAME SAL(만원)
101 문OO 3000
202 차OO 4300
203 채OO 5200
301 박OO 4400

 

ORDER BY절 내림차순

SELECT ID
     , NAME
     , SAL
   FROM MEMBER
 -- 내림차순
 ORDER BY SAL DESC

 

ID NAME SAL(만원)
203 채OO 5200
301 박OO 4400
202 차OO 4300
101 문OO
3000

 

ORDER BY절 오름차순

SELECT ID
     , NAME
     , SAL
   FROM MEMBER
 -- 오름차순
 ORDER BY SAL ASC

 

ID NAME SAL(만원)
101 문OO 3000
202 차OO 4300
301 박OO 4400
203 채OO 5200

 


 

ORDER BY절 다중 정렬

ID NAME SAL(만원)
101 문OO 3000
202 차OO 4300
203 채OO 5200
301 박OO 4400
101 김OO 3300

 

ORDER BY절의 기본 문법은 하나의 컬럼으로 정렬을 하였지만 컬럼 여러개로 다중 정렬 또한 가능하다. 다중 정렬시에는 왼쪽부터 순서대로 정렬되기 때문에 순서에 유의해야 한다.

 

SELECT ID
     , NAME
     , SAL
  FROM MEMBER
 ORDER BY ID, SAL DESC

 

ID NAME SAL(만원)
301 박OO 4400
203 채OO 5200
202 차OO 4300
101 김OO 3300
101 문OO 3000

ID 컬럼으로 정렬 후 SAL로 정렬하기 때문에 ID로 정렬된 값들은 변하지 않습니다.