본문 바로가기
개발/Database

[SQL] order by 에 case when / 조건에 따라 정렬 예제

by Allonsy 2021. 1. 8.
반응형

SQL 작성 시 정렬이 필요한 경우 :

 

ORDER BY 컬럼명 정렬순서(ASC, DESC)

 

그런데 이런 경우 말고 특정 조건에 따라 정렬 가중치를 변경해서 정렬하고 싶을 경우 CASE WHEN을 활용할 수 있다

 

예를 들면 과일 데이터가 있을 때 사과, 오렌지, 체리 순서로 데이터를 뽑고 싶다

 

이럴 경우 case when을 이용하여 간단하게 정렬할 수 있다

 

예제1

SELECT *
FROM fruit
ORDER BY 
	CASE fruit_type WHEN '사과' THEN 1
    			WHEN '오렌지' THEN 2
                	WHEN '체리' THEN 3
    	END ASC

예제2

SELECT *
FROM fruit
ORDER BY 
	CASE	WHEN fruit_type = '사과' THEN 1
    		WHEN fruit_type = '오렌지' THEN 2
           	WHEN fruit_type = '체리' THEN 3
    	END ASC
반응형

댓글