본문 바로가기

창고/Backup_2013_0121

[Oracle] 함수설명

반응형
특정컬럼에 대하여 중복인 항목을 삭제하거나 업데이트 하고자 해서 오라클 쿼리를 연구하다가
도움되는 함수를 공부해서 남긴다.

역시 쿼리는 복잡복잡~ 

rank()         -- 동일값 동일한 순위 
dense_rank()   -- 중복 rank 의 수와 무관하게 순위 
row_number()   -- 유니크한 순위 
over ( [partition by col1] order by col2 [asc|desc] ) -- 위같은 그룹함수와 같이 쓰임 

with 구분 -- sub query를 단락별로 구분할때 이용  
 


주석처리된 부분을 제거 하면서 한번씩 실행해 보면 감이 온다.

with 는 테스트 예제나 가독성을 위한 쿼리를 위해 사용하면 좋고,

row_number() over 조합은 중복된 항목을 삭제할때 괜찮았다.

원래 목적은 유니크한 seqno 를 붙이는 거겠지만,

회사 쿼리할때는 그런일은 거의 없었다;; rank 도 물론 그래서 거의 않씀;; 하지만

중복삭제에도 이렇게 이용되는거 보면 어딘가에 또 쓸모가 있을듯?

참고로 중복삭제시에 쓰였던 쿼리들

반응형