卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

sqlserver基本介紹 sql server有沒有sum over?

sql server有沒有sum over?有的原表有兩列,分別為月份、月份銷售額,而需要一條 SQL 語句實(shí)現(xiàn)統(tǒng)計(jì)出每個(gè)月份以及當(dāng)前月以前月份銷售額和。SQL 測試表腳本 DECLARE @Tem

sql server有沒有sum over?

有的

原表有兩列,分別為月份、月份銷售額,而需要一條 SQL 語句實(shí)現(xiàn)統(tǒng)計(jì)出每個(gè)月份以及當(dāng)前月以前月份銷售額和。

SQL 測試表腳本

DECLARE @Temp Table( ID INT, --- 月份 MoneyData Float --- 金額) insert INTO @TEMPSELECT 1,100 UNION ALLSELECT 2,200 UNION ALLSELECT 3,300 UNION ALLSELECT 4,400 UNION ALLSELECT 5,500 UNION ALLSELECT 6,600 UNION ALLSELECT 7,600

一 自連接

SELECT A.ID, SUM(B.MoneyData) FROM @Temp A INNER JOIN @Temp BON A.ID>=B.ID GROUP BY A.ID

------ 重點(diǎn)在于 ON 條件,通過自連接 A.ID >= B.ID ,可獲取所需數(shù)據(jù),再通過

GROUP BY 、SUM 即可統(tǒng)計(jì)求和

二 開窗函數(shù)

SELECT ID, MoneyData, SUM(MoneyData) OVER( ) AS "總銷售額",SUM(MoneyData) OVER( PARTITION BY ID ) AS "月銷售額", SUM(MoneyData) OVER( ORDER BY ID ASC) AS "當(dāng)月 當(dāng)月前銷售額" FROM @Temp

---- 此處,使用開窗函數(shù)使用更為簡單,不過,其中 SUM() OVER ( ORDER BY ID ASC ) 即可實(shí)現(xiàn)以上功能

關(guān)于,開窗函數(shù)的具體用法,可參考微軟 MSDN 官方 API 文檔,最后,推薦一本開窗函數(shù)書:基于 SQL SERVER 2012 窗口函數(shù)。