programing

Oracle - 특정 값을 기준으로 먼저 순서를 지정한 후 나머지 순서를 지정

mailnote 2023. 10. 13. 22:23
반응형

Oracle - 특정 값을 기준으로 먼저 순서를 지정한 후 나머지 순서를 지정

여러 항목의 상태를 나타내는 열이 있는 Oracle 11g 테이블이 있습니다.세 개의 특정 깃발을 먼저 주문하고 나머지를 알파벳 순서로 선택하는 방법은 없습니까?

비슷한 것.

SELECT ITEM, STATUS FROM FOO ORDER BY STATUS ('I', 'U', 'P') ASC

그러면 상태 I, U, P, 그리고 나머지 항목이 마지막으로 나열됩니다.

이것은 모든 DB 엔진에 적용됩니다.

SELECT ITEM, STATUS 
FROM FOO 
ORDER BY case when STATUS = 'I' then 1
              when STATUS = 'U' then 2
              when STATUS = 'P' then 3
              else 4
         end,
         status

시도해 보기:

나를 위해 일하는..데모를 확인합니다.

create table FOO (ITEM varchar2(10), STATUS varchar2(10)) ;

SELECT ITEM, STATUS 
    FROM FOO 
    ORDER BY DECODE (STATUS,'I',1, 'U',2, 'P',3,4) ;

결과:

SQL> SELECT ITEM, STATUS 
        FROM FOO 
        ORDER BY DECODE (STATUS,'I',1, 'U',2, 'P',3,4) ;
  2    3  
no rows selected

어떻게 사용하고 계십니까?

언급URL : https://stackoverflow.com/questions/39224471/oracle-order-by-specific-values-first-then-the-rest

반응형