오라클 PARTITION BY

반응형
Oracle COUNT() OVER(PARTITION BY)
 - COUNT() OVER() -- 1201~1210 일 기준 주문데이터 중 PAY_FINISH 를 기준으로 카운트 반환 
 SELECT COUNT(DISTINCT CASE WHEN ood.ord_no >= OOD.PAY_FINISH THEN ood.ord_no END) OVER(PARTITION BY OOD.PAY_FINISH) CNT_ORD    
   FROM ORD OOD   
  WHERE OOD.PAY_FINISH BETWEEN '20151201' AND '20151210'
반응형

'Database & NoSQL > DB' 카테고리의 다른 글

Pipelined Table Function 예제  (0) 2015.05.15
자동증가값 초기화  (0) 2015.04.14
oracle sql*Loader 사용법  (0) 2015.03.19
[Oracle] 중복필드로 그룹핑 쿼리(Group By)  (0) 2015.03.13
[Oracle] 테이블 백업 쿼리 (CTAS)  (0) 2015.03.13
반응형
중복되는 필드를 기준으로 그룹화 하는 쿼리

DISTINCT와 동일한 로우 출력

--중복되는 데이타 특정 필드로 그룹핑 쿼리 1 
SELECT 우편번호 ,시도 ,시군구 ,법정동명   
  FROM (SELECT 우편번호 ,시도 ,시군구 ,법정동명 , ROW_NUMBER() OVER(PARTITION BY 시도, 시군구 ORDER BY 시도 DESC, 시군구 DESC) rn FROM ST_POST_DTL_DMY2 t)  
 WHERE rn = 1   
   AND 시도 = '부산광역시'  
  
--중복되는 데이타 특정 필드로 그룹핑 쿼리 2 
SELECT * FROM ST_POST_MST 
 WHERE ROWID IN(SELECT MAX(ROWID)
                  FROM ST_POST_MST 
              GROUP BY CITY_NM, GU_NM) 
   AND CITY_NM = '부산광역시' 
 ORDER BY CITY_NM;
반응형

+ Recent posts

반응형