insert into ~ select ~ 2

특정 화면에서 조건에 맞는 순위 목록 보여 주기

오늘 작업할 내용은 다소 복잡하다. 요건은 다음과 같다. 1. 순위 데이타 추출 및 노출 2. 특정 게시물에서만 노출 3. 특정 기간 동안만 노출 순위 데이타를 추출하려면 오라클 DB 쿼리 함수중 rank() over (order by ...) 라는 것을 이용한다. rank() 를 사용하면 1, 2, 2, 2, 5, 5, 7, .. 이런식으로 순위가 나오고.. dense_rank() 를 이용하면 1, 2, 2, 2, 3, 3, 4, ... 이런식으로 순위가 나온다. 여기서는 partition 옵션을 사용할 필요는 없다. 그런데 rank 함수는 튜닝을 해도 속도가 느릴 수밖에 없다. 이를 해결하려면 중간 테이블을 하나 두어서 순위 목록을 가져올 때는 중간 테이블에서 select 해 오고, 특정 조건에서 중..

WareValley 의 Orange 와 insert into ~ select ~ 구문을 이용한 데이타 DB 업로드

이번 작업의 전체 그림은, 1. 일단 Excel 을 통해 데이타를 가공하고 2. 가공된 데이타를 Orange Loader 로 임시테이블에 올리고 3. 임시테이블의 내용을 insert into ~ select 구문으로 본 테이블에 올리는 것입니다. 데이타가 대용량이든 아니든, 일단 가공을 한다면 MS 엑셀로 하는 것이 편합니다. 물론 제한사항은 있습니다. 하나의 워크시트에 65,535 개의 로우만 관리할 수 있다는 것이죠. 이러한 제약사항 때문에 하나의 엑셀 파일에 여러개의 워크시트로 나누어 작업을 하기도 합니다. 물론 오렌지에서 여러 워크시트를 한번에 업로드 할 수 있습니다. 그리고, 일시나 숫자와 관련된 사항은 엑셀과 DB 툴을 연계하는 작업에서 다루기 힘들지요. 상황에 맞게 작업해야 하는데 텍스트면 ..