Database & NoSQL/DB

반응형
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

Pipelined Table Function 예제

2015. 5. 15. 11:06
반응형

Oracle 9i 부터 지원되는 Pipelined Table Function 에 대한 예제 참고

예제 1

예제 2


반응형

자동증가값 초기화

2015. 4. 14. 11:28
반응형

테이블 자동증가값 초기화


DBCC CHECKIDENT(Table명,RESEED,초기값) 

ex) DBCC CHECKIDENT(TBL_BOARD, RESEED, 1)
반응형

oracle sql*Loader 사용법

2015. 3. 19. 17:18
반응형

오라클 sql*Loader

신주소 체계 데이터를 DB로 Insert 할 경우에 사용.

-20150306_jeonbuk.txt
585841|001|전라북도|Jeollabuk-do|고창군|Gochang-gun|고수면|Gosu-myeon
585841|001|전라북도|Jeollabuk-do|고창군|Gochang-gun|고수면|Gosu-myeon
585841|001|전라북도|Jeollabuk-do|고창군|Gochang-gun|고수면|Gosu-myeon

-zipcode.ctl (ctl 확장자에 테이블명, 필드명, INFILE 위치, 오류시 저장할 BADFILE 명, fields terminated by "|" 구분자 입력)
LOAD DATA
    INFILE  'D:\SqlLoader\20150306_jeonbuk.txt'
    BADFILE 'D:\SqlLoader\20150306_jeonbuk_bad.txt'
APPEND
INTO TABLE ST_POST_DTL_DMY
    fields terminated by "|" optionally enclosed by '"'
( 우편번호,
우편일련번호,
시도,
시도영문,
시군구,
시군구영문,
읍면,
읍면영문 )

1. cmd -> D: (ctl 파일 디렉토리로 이동)
2. sqlldr dbname/password@sid control=zipcode.ctl data=20150306_jeonbuk.txt  ENTER
3. 10 만 건 돌리는데 대략 3분 정도 소요? 
4. 저장된 데이터 확인!

반응형
반응형
중복되는 필드를 기준으로 그룹화 하는 쿼리

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

반응형