IT/DB
Teradata - QUALIFY ROW_NUMBER()
조병희
2014. 9. 2. 10:40
SQL 을 작성하다보면 최근값을 가져오기 위해
SELECT * FROM TAB1
WHERE SEQNO = (SELECT MAX(SEQNO) FROM TAB2 WHERE T1.SEQNO = T2.SEQNO);
형태로 가져올 때가 있다.
이 때 QUALIFY ROW_NUMBER()을 유용하게 사용할 수 있다.
예시)
SELECT
PID, ORDDD, SEQ, COL1
FROM TAB1
QUALIFY ROW_NUMBER() OVER(PARTITION BY PID, ORDDD ORDER BY SEQ DESC ) = 1;
설명: PID, ORDDD 별로 SEQ 를 정렬하여 1개 값을 가져 오기