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로 정렬된 값들은 변하지 않습니다.
'RDBS > MYSQL' 카테고리의 다른 글
[MySQL]그룹화 하고 조건 부여하기(Group By절, Having절) (1) | 2023.02.03 |
---|---|
[MYSQL]문자열 여러 개 합치기 - CONCAT(), CONCAT_WS() (6) | 2023.01.16 |
[MYSQL]REGEXP(정규 표현식) : 특정 문자열 처리 (7) | 2023.01.13 |
[MYSQL]함수를 활용한 날짜 및 시간 연산 (9) | 2023.01.10 |
[MYSQL]NOW(), SYSDATE()의 차이 (5) | 2023.01.09 |