티스토리 뷰
반응형
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 |
댓글