SQL

[SQL] ORDER BY + CASE WHEN

bornsoon 2024. 11. 3. 20:29

보통 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