반응형
MS SQL ORDER BY 조건
프로그래밍시 정렬을 해도되지만
쿼리단계에서 ORDER BY CASE 문을 이용한 정렬 방법이다
다음과 같은 테이블이 있을때
USER_ST 3, 2, 1, 4 로 정렬하려면
SELECT * FROM USERS
ORDER BY
CASE
WHEN USER_ST = 3 THEN 0
WHEN USER_ST = 2 THEN 1
WHEN USER_ST = 1 THEN 3
WHEN USER_ST = 4 THEN 4
ELSE 99
END ASC
위와 같이 CASE 를 사용하여 임의로 순서를 지정해주면 된다.
SELECT * FROM USERS
ORDER BY
CASE
WHEN USER_ST = 3 THEN 0
WHEN USER_ST = 2 THEN 1
WHEN USER_ST = 1 THEN 3
WHEN USER_ST = 4 THEN 4
ELSE 99
END ASC,
CASE
WHEN USER_ID = 'PARK' THEN 0
ELSE 1
END ASC
위와 같이 CASE 문을 여러개 중복 사용하여 정렬도 가능하다.
반응형
'MSSQL' 카테고리의 다른 글
[MS SQL] OPENQUERY 8000자 제한 (0) | 2022.12.17 |
---|---|
[MS SQL] 트리거 특정 컬럼 변경 시(업데이트) 작동 (0) | 2021.03.23 |
[MS SQL] IF EXISTS 테이블 존재 유무 확인 조건문 (0) | 2020.06.11 |
MS SQL Express 자동 백업 스케줄러 설정 (2) | 2020.05.05 |
MS SQL TCP/IP 접속 에러 해결 (0) | 2020.05.05 |