eunzae's develog

[SQL]ROW_NUMBER() 함수 본문

Language/SQL

[SQL]ROW_NUMBER() 함수

eunzae 2021. 12. 22. 11:09
select row_number() over(partition by 행기준칼럼 order by 정렬기준칼럼)
from 테이블명

 

활용: 가장 최신 버전의 ICD 단어사전을 매핑

-- 진단
-- 수정일: 2021.04.03. / 수정자: 신은재

select 
/*생략*/
     , A.DISS_CD                                as DISS_CD              -- 질병코드(ICD-10th)
     , V1.ICD_10_NM                             as DISS_ENM             -- 질병영문명(ICD-10th)
     , V2.ICD_10_NM                             as DISS_KNM             -- 질병한글명(ICD-10th)
  from 진단테이블                       A  -- 진단관리
/*생략*/
       left outer join
          (
           select ICD_10_CD
                , ICD_10_NM
				, ROW_NUMBER() OVER(PARTITION BY ICD_10 ORDER BY substr(용어사전버전,4,1) DESC) as KCD_NO
             from 용어사전테이블
            where /*생략*/
          )  V1 -- 한글
         on substr(A.DISS_CD,1,decode(instr(A.DISS_CD,'_'),'0',length(A.DISS_CD),instr(A.DISS_CD,'_')-1)) = V1.ICD_10_CD
		 and V1.KCD_NO = 1
       left outer join
          (
           select ICD_10_CD
                , ICD_10_NM
				, ROW_NUMBER() OVER(PARTITION BY ICD_10 ORDER BY substr(용어사전버전,4,1) DESC) as KCD_NO
             from 용어사전테이블
            where  /*생략*/            
          )  V2 -- 영문
		 on substr(A.DISS_CD,1,decode(instr(A.DISS_CD,'_'),'0',length(A.DISS_CD),instr(A.DISS_CD,'_')-1)) = V2.ICD_10_CD
		 and V2.KCD_NO = 1
/*생략*/

'Language > SQL' 카테고리의 다른 글

[SQL] 정규식 사용 앞뒤 공백 제거  (0) 2022.04.19
[SQL] case when 절 이용한 데이터 정제  (0) 2022.04.19
[SQL] 비 규칙적인 글자 정규식 사용 추출  (0) 2021.08.11
[SQL] exists 함수  (0) 2021.06.01
[SQL] WITH절 사용  (0) 2021.05.31