SQL 데이터 분석함수 - 전행과, 다음행 출력 Lag, Lead(컬럼, 1 or 2..)over (partition by ~ order by ~ desc/asc )
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 ..
SQL 데이터 분석함수 - 상위비율구하기 Cume_dist () over ( partition by ~ order by ~ desc/asc)
CUME_DIST(순위의 비율 출력하기) → 상위 몇 % ? 예제 : 이름, 월급, 월급순위, 월급순위의비율을 출력 select ename, sal, dense_rank() over (order by sal desc)as 순위 , cume_dist () over (order by sal desc)as 순위비율 from emp; → emp table 기준으로 1등은 1/14 로 계산된 비율 2등은 3/14 로 계산된비율(2등이 2명이기 때문에 )입니다. 문제 179 : 클래스타입,이름, 나이, 그옆에 클래스 타입별로 각각 나이가 높은 순서대로 자기의 나이에 대한 순위의 비율이 출력 select class_type, ename, age, address, cume_dist() over ( partition b..