需求:有如下示例數據,其中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')
查詢sql如下:
SELECT
*, SUM(AMOUNT)OVER(PARTITION BY PRODUCT ORDER BY CONTRACT_MOUTH) AS SUM_AMOUNT FROM SUMOVER
查詢結果如下: