today:
43
yesterday:
170
Total:
999,349

SQL Monthly SUM

admin 2023.05.22 20:03 Views : 36

DECLARE

 YEAR NUMBER;

 

BEGIN

DELETE FROM HISTORY_SUM;

INSERT INTO HISTORY_SUM (YEAR)

Select DISTINCT(TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY'))) as YEAR from HISTORY

ORDER BY YEAR;

 

     FOR x IN (Select * from HISTORY_SUM) LOOP

     

     UPDATE HISTORY_SUM

     SET JAN = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 1)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET FEB = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 2)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET MAR = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 3)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET APR = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 4)

     WHERE YEAR = x.YEAR;     

     

     UPDATE HISTORY_SUM

     SET MAY = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 5)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET JUN = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 6)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET JUL = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 7)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET AUG = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 8)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET SEP = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 9)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET OCT = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 10)

     WHERE YEAR = x.YEAR;     

     

     UPDATE HISTORY_SUM

     SET NOV = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 11)

     WHERE YEAR = x.YEAR;

     

     UPDATE HISTORY_SUM

     SET DEC = (Select SUM(TOTAL_$) from HISTORY c

WHERE TO_NUMBER(TO_CHAR(VISIT_DATE, 'YYYY')) = YEAR AND TO_NUMBER(TO_CHAR(VISIT_DATE, 'MM')) = 12)

     WHERE YEAR = x.YEAR;

        

  END LOOP;    

 

COMMIT;

END;

No. Subject Author Date Views
26 GP 영수증 본문 admin 2022.11.07 61
25 GP - 영수증 (2) admin 2022.11.07 63
24 GP 영수증 (3) -01/04/2023 admin 2023.01.04 53
23 TEST admin 2023.03.27 97
22 WHDR email address admin 2023.04.13 55
21 TEST admin 2023.04.28 40
20 TEST admin 2023.05.03 35
19 GitHub.com/Oracle/APEX. admin 2023.05.04 39
18 FINAL TEST admin 2023.05.08 43
17 ORACLE COLLECTION admin 2023.05.08 37
16 Global pages admin 2023.05.09 40
15 LOOP TABLE UPDATE admin 2023.05.19 49
14 INNER JOIN admin 2023.05.19 36
» Monthly SUM admin 2023.05.22 36
12 GRAPH (BAR) SQL SAMPLE admin 2023.05.25 38
11 YEAR EXPRESSIONS admin 2023.05.25 34
10 DATE -> DAY CONVERT SQL admin 2023.05.25 37
9 CHANGE TABLE NAME admin 2023.05.31 57
8 127.0.0.1:8080/apex/ admin 2023.06.03 82
7 ipconfig admin 2023.06.03 66