집계함수 질문드려요 0 2 758

by 주작전사 [SQL Query] 집계함수 오라클 [2019.07.02 22:06:28]


오라클을 사용하구요.  3일의 표준편차를 구하려고합니다.

다만 당일의 값은  원래의 값을 사용하지 않고 다른 테이블에서 조인한 대체 값으로 써서 구하고싶습니다.

출력을 이런식으로 한다면

seq value replace stddev
1 2000 10 null
2 400 10 null
3 3000 10 1054.53
4 20 10 1625.433
5 4000 10 1723.398

3 행의 값은 아래와 같이 노란색의 값이 범위가 되는 것이지요.

seq value replace stddev
1 2000 10 null
2 400 10 null
3 3000 10 1054.53
4 20 10 1625.433
5 4000 10 1723.398

4행의 값은 아래와 같구요

seq value replace stddev
1 2000 10 null
2 400 10 null
3 3000 10 1054.53
4 20 10 1625.433
5 4000 10 1723.398

 

 

고수님들 알려주세요 ㅜㅜ

 

by 마농 [2019.07.03 08:26:24]
WITH t AS
(
SELECT 1 seq, 2000 val, 10 rep FROM dual
UNION ALL SELECT 2,  400, 10 FROM dual
UNION ALL SELECT 3, 3000, 10 FROM dual
UNION ALL SELECT 4,   20, 10 FROM dual
UNION ALL SELECT 5, 4000, 10 FROM dual
)
SELECT seq, val, rep
     , ROUND(DECODE(COUNT(*), 3, STDDEV(v)), 3) x
  FROM (SELECT seq, val, rep
             , LAG(val, 2) OVER(ORDER BY seq) v1
             , LAG(val, 1) OVER(ORDER BY seq) v2
             , rep v3
          FROM t
        )
 UNPIVOT (v FOR gb IN (v1, v2, v3))
 GROUP BY seq, val, rep
 ORDER BY seq
;

 


by 주작전사 [2019.07.03 19:17:03]

감사합니다~!!!!!!

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입