728x90
반응형
같은 date, 같은 code의 데이터별로 최신 데이터의 행 전체를 취득하고 싶을 경우,
GROUP BY 해서 MAX로 구하면, account와 같은 값들은 취득이 불가능하다.
MAX() OVER (PARTITION BY ..) 절을 쓰면 모든 행을 구할 수 있다.
select *
from(
select code, date, account, upd_date,
max(upd_date) over (partition by code, date) as maxdate from hoge
) t1
where t1.upd_date = t1.maxdate;
code, date로 GROUP BY한 데이터의 upd_date 최대값을 구하고,
기존 데이터의 upd_date와 upd_date 최대값이 같은 데이터를 구하면 된다.
728x90
반응형
'SQL > ORACLE함수' 카테고리의 다른 글
[ORACLE 함수] Date함수 (0) | 2017.10.30 |
---|---|
[오라클 11g] 시퀀스 (SEQUENCE, 자동생성, CURRVAL, NEXTVAL) (0) | 2016.04.21 |
오라클(Oracle) SUBSTR 함수로 문자열을 다양하게 자르는 방법 (0) | 2016.01.04 |
[오라클] MOD, TRUNC, EXTRACT (0) | 2015.11.20 |
날짜함수 (0) | 2015.11.20 |
오라클 요일함수-주간 요일 찾기 (0) | 2015.11.20 |
Oracle 오라클 trunc() 함수로 날짜 자르는법 방법 (0) | 2015.11.20 |
Oracle 오라클 SYSDATE(시스템시간=현재시간)을 년도만 보여주기 (0) | 2015.11.20 |