LAG, LEAD ( 전행과, 다음행 출력하기)
→ 은행에서 통장 잔고 확일할때 LAG ,LEAD 의 원리로 SQL 쿼리를 입력한다.
LAG : 전행 → LAG( 컬럼명, 1 OR 2 OR 3 ...)
LEAD : 다음행 → LEAD (컬럼명 , 1 OR 2 OR 3...)
→ 1 은 바로 전행 2는 전전행 3은 전전전행 ....
예제 46 : 이름 , 입사일, 바로전에 입사한 사원과의간격일 출력
select ename, hiredate,
hiredate - lag(hiredate,1) over (order by hiredate asc) as days
from emp;
문제 : 이름, 생일 , 생일과의 간격일을 출력
select ename,
birth, birth - lag(birth , 1) over (order by birth asc) as 간격일
from emp14;
설명 : BIRTH 에서 LAH BIRTH 를 빼야 한다.
간격일은 출력된 생일에서 - 그전 생일 이기때문에
'Oracle > SQL' 카테고리의 다른 글
SQL 데이터 분석함수 - 원형 비율출력 Ratio_to_report (0) | 2021.11.19 |
---|---|
SQL 데이터 분석함수 - 누적데이터 Sum () over () (0) | 2021.11.19 |
SQL 데이터 분석함수 - 데이터 가로출력 Listagg (컬럼명,',') within group(order by~ desc/asc ) (0) | 2021.11.19 |
SQL 데이터 분석함수 - 상위비율구하기 Cume_dist () over ( partition by ~ order by ~ desc/asc) (0) | 2021.11.19 |
SQL 데이터 분석함수 - 등급 출력 Ntile( 숫자) over( order by ~ desc/asc ) (0) | 2021.11.19 |