PostgreSQL 의 nth_value, lead, lag
nth_value, lead, lag 에 대한 예제를 통해 사용법을 익혀보자.
자세한 내용은 ref. 1 을 참고하도록 하자.
nth_value(date, 1)
date column 의 값을 보면서, 같은 date 값중에(partition by date) 1번째 값을 보여준다."같은 date" 끼리 묶고, 그 묶음별로 1번째 값을 그 묶음에 전부 적용한다.
SELECT date, nth_value(date,1) OVER (PARTITION BY date) FROM test_per;
nth_value(date, 2)
date column 의 값을 보면서, 같은 date 값중에(partition by date) 2번째 값을 보여준다. 없으면 null 을 반환한다.SELECT date, nth_value(date,2) OVER (PARTITION BY date) FROM test_per;
lead(date, 1, '2000-01-01')
date column 의 값을 보면서, 같은 date 값중에(partition by date) 가장 마지막 값(lead(date, 1)) 을 '2000-01-01' 로 넣는다.SELECT date, lead(date,1, '2000-01-01') OVER (PARTITION BY date) FROM test_per;
lag(date, 1, '2000-01-01')
date column 의 값을 보면서, 같은 date 값중에(partition by date) 가장 첫번째 값d(lag(date, 1)) 을 '2000-01-01' 로 넣는다."같은 date 끼리 묶음"을 만들고, 그 묶음에서 가장 첫번째 나오는 값에 '2000-01-01' 을 넣는다.
SELECT date, lag(date,1, '2000-01-01') OVER (PARTITION BY date) FROM test_per;
댓글 없음:
댓글 쓰기