보통 ORDER BY 뒤에는 컬럼명, ASC, DESC가 오는데
CASE WHEN을 이용하면 특정 조건에 따라 정렬하는 것이 가능하다.
SELECT ID
FROM TEL
GROUP BY ID
HAVING COUNT(*) > 1
ORDER BY
CASE WHEH ID = 999 THEN 0
ELSE ID
END
SELECT *
FROM employee
ORDER BY
CASE name WHEN 'Alice' THEN 1
WHEN 'Bob' THEN 2
WHEN 'Charlie' THEN 3
END ASC
SELECT *
FROM employee
ORDER BY
CASE WHEN name = 'Alice' THEN 1
WHEN name = 'Bob' THEN 2
WHEN name = 'Charlie' THEN 3
END ASC
728x90
'SQL' 카테고리의 다른 글
[PostgreSQL] GENERATED / Sequence / Serial (0) | 2025.05.08 |
---|---|
[SQL] WITH 문 (0) | 2025.03.27 |
[SQL] NULL 관련 함수 (0) | 2024.11.03 |
[SQL] 내장함수 (단일행 함수와 다중행 함수) (0) | 2024.11.03 |
[SQL] TRUNCATE와 DELETE의 차이점 (1) | 2024.10.02 |