본문 바로가기
웹프로그래밍/Oracle or Sql

ORDER BY 활용

by Seras 2017. 9. 26.
반응형



ORDER BY 활용



이놈의 ORDER BY때문에 얼마나... 시간을 태웠는지..(실력부족)

그 팁을 공유하고자 합니다 ㅠㅠ


SELECT *


FROM ....



ORDER BY 

  

  DECODE(PRODUCT_PROC_YN,'N',1,'Y',2,3),         // 1

  DECODE(CM_STATE,'N',1,'T',2,3),                      // 2

  DECODE(APP_STATE,'A',1,0,2,3),                       // 3

  CP_MOD_DATE DESC                                    // 4

  


-- 설명 --


1. PRODUCT_PROC 컬럼에는 값이 Y, N, null 이 존재한다. 이것을 먼저 정렬하려고 DECODE 사용 N이면 제일 위로, Y 2번째, 나머지 모든값 3번째 라는 뜻이다.

우선 그럼 PRODUCT_PROC_YN 으로 먼저 정렬이 된다!!


2. 1번과 같이 정렬된 후 그 다음이라고 생각하면 된다. CM_STATE 컬럼 값이 N이면 첫번째, T 두번째 나머지 모든값  세번째

3. 1,2번과 같이 정렬된 후에 그 속에서 또 정렬한다 A면 첫번째, 0이면 2번째 나머지 3

4. 1,2,3 으로 정렬된 후 이제 나머지 데이트를 역순으로 정렬 한다.



간단해보이는가요?!! 자!!


 Zeolites

등록대기

 17/05/18

 Niobium

등록대기 

 17/05/17

 Chromium

변경대기

 17/05/25

 Manganesedioxide

변경대기

 17/05/16

 Zeolites

임시저장

 17/05/25

 Niobium

임시저장

 17/05/19

 Chromium

완료

 17/05/20

 Manganesedioxide

완료

 17/05/18




등록대기별 최신날짜 순

변경대기별 .....


활용하셔서 쓰시길 바랍니다!





반응형