2014-04-22 2 views
0

밀도가 높은 순위를 사용하여 테이블의 항목을 3 일 버킷으로 그룹화했습니다. 예 :dense_rank 내에서 중첩 된 정렬을 수행하는 방법

  1. 나는 QTYORDERED에 따라 Planning_package에 더 정렬을해야 할 22 ~ 24 에이프릴 4

    enter image description here 질문으로 함께 '까지 꽉'하고 우선 순위를 할당합니다. 우선 순위 4의 최종 결과는 다음과 같습니다. enter image description here

다음과 같이 정렬을 수행하는 데 사용하는 sql. 누구든지 planning_package에서 추가 정렬 작업을 수행하는 데 도움이 될 수 있습니까 ??? **

select SALESORDERID, ITEM, PLANNING_PACKAGE, GENERIC_PACKAGE, QTYORDERED, 
DMD_TYPE_CD, ORDER_TYPE_CD, PRIORITY_NBR,PROMISEDAVAILDATE, 
dense_rank() 
over 
(
order by 
    round((
      case when dmd_type_cd = 'Netted Forecast' 
       then greatest(PROMISEDAVAILDATE, (to_date('22-Apr-14','DD-Mon-YY')+31)) 
       else PROMISEDAVAILDATE end 
      - (to_date('22-Apr-14','DD-Mon-YY')+1))/3, 0) desc 
) as priority 

from 
TEST_SALESORDER_TABLE; 

답변

0
당신은 order by clause에 의해 정렬 여러 열을 지정할 수 있습니다

-이 될 것입니다 귀하의 경우를 .... order by priority , qtyordered desc

priority이 열 위치로하여 주문할 수있는 표현 인 경우 잘.

관련 문제