我有一個資料表裡面數據500多筆
他是根據使用者設定所產出資料,在匯出資料產生表
上面顯示畫面是單一,一月份有9筆資料在上面
2月1筆
當使用者任意點4月或5月等等...,上面數據有會變更
為了更改畫面一月把上面9筆數據做相加總,相加結果為105.2
就是同月份數據做相加總
想請問SQL SUM語法該怎麼下比較好
我goole都是一加幾筆上去,但我數據太多不知道該怎麼下
string str = "SELECT SUM(CASE WHEN WEIGHT_SUM = '' and WEIGHT_SUM = '' THEN WEIGHT_SUM + WEIGHT_SUM ELSE 0 END) total where (Format(DISPOSE_YEAR_MONTH) FROM dbo.TRRDCB12 )";
我知道上面code下錯的特來請教各位大家
為了更改畫面一月把上面9筆數據做相加總,相加結果為95.15
12.65+17.67+9.87+12.74+11.4+7.68+11.5+18.49+3.02 = 105.02
想請問SQL SUM語法該怎麼下比較好
我goole都是一加幾筆上去,但我數據太多不知道該怎麼下
因為沒有提供數據結構跟期望值
,這邊只能猜測跟提供範例
解決方式主要使用Year跟Month funtion來做Group + Sum
--測試資料
CREATE TABLE T
([DateTime] datetime, [Value] float)
;
INSERT INTO T
([DateTime], [Value])
VALUES
('2019-01-03 00:00:00', 12.65),
('2019-01-05 00:00:00', 17.67),
('2019-01-07 00:00:00', 9.87),
('2019-01-08 00:00:00', 12.74),
('2019-01-09 00:00:00', 11.4),
('2019-01-11 00:00:00', 7.68),
('2019-01-13 00:00:00', 11.5),
('2019-01-21 00:00:00', 18.49),
('2019-01-25 00:00:00', 3.02),
('2019-02-03 00:00:00', 10.93)
;
--查詢邏輯
select Year([DateTime]),Month([DateTime]),sum([Value]),count(1)
from T
group by Year([DateTime]),Month([DateTime])
select Year(DELIVER_DATE), Month(DELIVER_DATE),sum(WEIGHT_SUM) from [2mlAppDatDb].[dbo].[TRRDCB12] group by Year (DELIVER_DATE), Month (DELIVER_DATE)"
我的語法下這樣
因為我有一個功能是選擇日期起訖時間選擇區間,可是顯示結果卻是這樣
想要達成畫面是這樣子的
這個屬於前端畫面邏輯,而你沒有提供前端如何顯示的程式碼
,所以我無法知道如何幫你解決
但是單純從資料面看是正確的
我跟你一樣下語法也沒有資料行名稱
我是改後端code,前端畫面跟code基本都工具箱拉一拉就好了
ted8224 沒有資料行名稱,可以使用as
解決:
select Year(DELIVER_DATE) as year, Month(DELIVER_DATE) as month,sum(WEIGHT_SUM) as total from [2mlAppDatDb].[dbo].[TRRDCB12] group by Year (DELIVER_DATE), Month (DELIVER_DATE)