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개 값을 가져 오기
'IT > DB' 카테고리의 다른 글
Apache Pinot (0) | 2022.10.19 |
---|---|
DBMS Tools (0) | 2020.09.28 |
Teradata - Substring 과 Substr 비교 (0) | 2014.08.28 |
Teradata - Interval 과 Add_Months 비교 (0) | 2014.08.28 |
ORACLE TO TERADATA MIGRATION GUIDELINES (0) | 2014.04.28 |
댓글