sql開窗函數_累計求和開窗函數sum()over()


需求:有如下示例數據,其中PRODUCT表示產品,CONTRACT_MOUTH表示合同月份,AMOUNT表示當月合同金額,請求出每個產品累計合同金額。

比如牛奶2月份累計求和金額為100+200=300,牛奶3月份累計求和金額為100+200+300=600,依此類推。

示例數據sql:

CREATE TABLE SUMOVER( PRODUCT VARCHAR(50), CONTRACT_MOUTH INT, AMOUNT DECIMAL(18,2) ) INSERT INTO SUMOVER VALUES ('牛奶','1','100') INSERT INTO SUMOVER VALUES ('牛奶','2','200') INSERT INTO SUMOVER VALUES ('牛奶','3','300') INSERT INTO SUMOVER VALUES ('牛奶','4','400') INSERT INTO SUMOVER VALUES ('牛奶','5','500') INSERT INTO SUMOVER VALUES ('牛奶','6','600') INSERT INTO SUMOVER VALUES ('牛奶','7','700') INSERT INTO SUMOVER VALUES ('牛奶','8','800') INSERT INTO SUMOVER VALUES ('牛奶','9','900') INSERT INTO SUMOVER VALUES ('牛奶','10','1000') INSERT INTO SUMOVER VALUES ('牛奶','11','1100') INSERT INTO SUMOVER VALUES ('牛奶','12','1200') INSERT INTO SUMOVER VALUES ('醬油','1','100') INSERT INTO SUMOVER VALUES ('醬油','2','200') INSERT INTO SUMOVER VALUES ('醬油','3','300') INSERT INTO SUMOVER VALUES ('醬油','4','400') INSERT INTO SUMOVER VALUES ('醬油','5','500') INSERT INTO SUMOVER VALUES ('醬油','6','600') INSERT INTO SUMOVER VALUES ('醬油','7','700') INSERT INTO SUMOVER VALUES ('醬油','8','800') INSERT INTO SUMOVER VALUES ('醬油','9','900') INSERT INTO SUMOVER VALUES ('醬油','10','1000') INSERT INTO SUMOVER VALUES ('醬油','11','1100') INSERT INTO SUMOVER VALUES ('醬油','12','1200')
View Code

查詢sql如下:

SELECT  
    *, SUM(AMOUNT)OVER(PARTITION BY PRODUCT ORDER BY CONTRACT_MOUTH) AS SUM_AMOUNT FROM SUMOVER

查詢結果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM