안녕하세요. 데이터 값을 핸들링 해보려고하는데 사용자 함수를 사용해서 해보려고합니다.
글내용에 사진이 첨부가 안되는데 제가 못하는건지.. 파일첨부 했습니다.
데이터는 3개정도만 뽑아왔고 1000개정도의 row가 있습니다.
1월5일 5800과 1월4일 6000을 계산해서 5800 - 6000 = -200 이 나오게 하고싶은데 어떻게 해야할지 모르겠습니다.
계속해서 전날과 비교되어 -200, -50 , 이런식으로 계산해보고싶은데 결론적으로 end컬럼 뒤에 as result로 -200 ,-50 이렇게 보이게 하고싶습니다.
문제 해결에 힌트좀 주시면 감사하겠습니다
lag 함수로 가능하네요.
with t (code, dt, first, up, down, end) as ( select '005930', '2000-01-04', '6000', '6100', '5660', '6110' from dual union all select '005930', '2000-01-05', '5800', '6060', '5520', '5580' from dual union all select '005930', '2000-01-06', '5750', '5780', '5580', '5620' from dual ) select code, dt, first, first - lag(first) over (partition by code order by dt) as_result from t