資料:
NAME AGE SAL MONTH
A 21 100 JAN
B 22 150 FEB
C 21 200 SEP
D 22 100 OCT
EMP 21 150 DEC
所需輸出::
1> 普通和
NAME AGE SAL SUM
A 21 100 700
B 22 150 700
C 21 200 700
D 22 100 700
EMP 21 150 700
2> 運行總和
NAME AGE SAL RUNNING_SUM
A 21 100 100
B 22 150 250
C 21 200 450
D 22 100 550
EMP 21 150 700
3> 季度總和
NAME AGE SAL MONTH SUM
A 21 100 JAN 250
B 22 150 FEB 250
C 21 200 SEP 200
D 22 100 OCT 250
EMP 21 150 DEC 250
有人可以幫我撰寫代碼以實作上述結果。我也會為此感到高興。
uj5u.com熱心網友回復:
您的所有結果都可以通過使用SUM聚合函式和視窗函式來實作。
--Normal Sum
SELECT s.*, SUM (sal) OVER () AS SUM
FROM sum_data s;
--Running Sum
SELECT s.*, SUM (sal) OVER (ORDER BY name) AS SUM
FROM sum_data s;
--Quarterly Sum
SELECT s.*,
SUM (sal)
OVER (
PARTITION BY TO_CHAR (TO_DATE ('2022-' || s.month || '-1', 'YYYY-MON-DD'), 'Q')) AS quarterly_SUM
FROM sum_data s;
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494493.html
