티스토리 뷰

반응형

 

 

 

 



 

 

oracle

 

 

order by 로 오름차순, 내림차순 정렬을 할 수 있지만

 

간혹 정렬컬럼의 특정 값만 맨 하단으로 보내고 싶을 때가 있다.

그럴때  order by 절에서  case 구문을 사용하여 처리 한다.

 

 

SELECT *
FROM table명
ORDER BY CASE WHEN column명 = '특정값' THEN 1 ELSE 0 END, column명 ASC(DESC);

 

 

특정값일때만 1로 처리하고 나머지값이 0으로 처리해서 정렬하게 되면

특정값은 맨 하단으로 깔리고  나머지 값들만  오름차순, 내림차순 정렬을 할 수 있다.

 

 

예를들어 

A단어, B단어, 미상 값을 order by 로 정렬하게 되면

 

 


A단어                      B단어

미상         또는         미상

B단어                       A단어

 

 

 

이렇게 정렬 될 때가 있는데  '미상' 이란 값을 최하단으로 정렬하게끔 하려면

 

SELECT *
FROM table명
ORDER BY CASE WHEN column명 = '미상' THEN 1 ELSE 0 END, column명 ASC(DESC);

 

 


A단어                      B단어

B단어        또는       A단어

미상                        미상

 

                       

하단으로 고정시키고 싶은 값을 맨뒤로 보낼 수 있다.

 

 

 

 



 

 

 

 

반응형

'Database > Oracle' 카테고리의 다른 글

[Oracle] 재기동 하기 (feat.linux)  (0) 2024.08.06
[oracle] 오라클 ODAC 설치 및 연동 (64비트)  (0) 2024.07.25
[ORACLE] 분기 구하기  (0) 2022.12.29
댓글
반응형
최근에 올라온 글
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Total
Today
Yesterday