我需要獲取同一行內的兩個字段的總數,並在該行末尾的字段中輸入該數字。如何在一個SQL查詢中求和兩個字段
這是我的代碼。
Sum(tbl1.fld1 + tbl1.fld2) AS [Total]
這是什麼SUM函數用於,或可以只使用SUM函數用於獲取總列?
由於
我需要獲取同一行內的兩個字段的總數,並在該行末尾的字段中輸入該數字。如何在一個SQL查詢中求和兩個字段
這是我的代碼。
Sum(tbl1.fld1 + tbl1.fld2) AS [Total]
這是什麼SUM函數用於,或可以只使用SUM函數用於獲取總列?
由於
SUM
是一個聚合函數。它會計算每個組的總數。 +
用於計算一行中的兩列或更多列。
考慮這個例子,
ID VALUE1 VALUE2
===================
1 1 2
1 2 2
2 3 4
2 4 5
SELECT ID, SUM(VALUE1), SUM(VALUE2)
FROM tableName
GROUP BY ID
將導致
ID, SUM(VALUE1), SUM(VALUE2)
1 3 4
2 7 9
SELECT ID, VALUE1 + VALUE2
FROM TableName
將導致
ID, VALUE1 + VALUE2
1 3
1 4
2 7
2 9
SELECT ID, SUM(VALUE1 + VALUE2)
FROM tableName
GROUP BY ID
將導致
ID, SUM(VALUE1 + VALUE2)
1 7
2 16
SUM被用於在爲多個行的列求和的值。您可以將您的列添加到一起:
select tblExportVertexCompliance.TotalDaysOnIncivek + tblExportVertexCompliance.IncivekDaysOtherSource AS [Total Days on Incivek]
嘗試以下操作:
SELECT *, (FieldA + FieldB) AS Sum
FROM Table
轉換爲int也很重要,如果這些字段是包含ints的varchars – LuigiEdlCarno 2013-02-14 15:13:20
求和函數只能得到一列的總和。爲了總結不同列的兩個值,值轉換爲int和把它們加起來使用+ - 運算符
Select (convert(int, col1)+convert(int, col2)) as summed from tbl1
希望有所幫助。
如果你想添加兩列在一起,你所要做的就是添加它們。然後,您將獲得查詢返回的每行的這兩列的總和。
你的代碼正在做的是將兩列加在一起,然後得到總和。這將起作用,但它可能不是你想要完成的。
ID VALUE1 VALUE2
===================
1 1 2
1 2 2
2 3 4
2 4 5
select ID, (coalesce(VALUE1 ,0) + coalesce(VALUE2 ,0) as Total from TableName
由於我的信譽積分低於50,我無法評論或投票E編碼的答案上面。這是做這件事的最好方式,所以你不必使用這個組合,因爲我有類似的問題。
通過做SUM((coalesce(VALUE1 ,0)) + (coalesce(VALUE2 ,0)))
作爲總計這將得到你想要的數字,但也擺脫任何錯誤不執行分組依據。 這是我的查詢,給了我每個經銷商的總數和總金額,然後給了我一個質量和有風險的經銷商貸款的小計。
SELECT
DISTINCT STEP1.DEALER_NBR
,COUNT(*) AS DLR_TOT_CNT
,SUM((COALESCE(DLR_QLTY,0))+(COALESCE(DLR_RISKY,0))) AS DLR_TOT_AMT
,COUNT(STEP1.DLR_QLTY) AS DLR_QLTY_CNT
,SUM(STEP1.DLR_QLTY) AS DLR_QLTY_AMT
,COUNT(STEP1.DLR_RISKY) AS DLR_RISKY_CNT
,SUM(STEP1.DLR_RISKY) AS DLR_RISKY_AMT
FROM STEP1
WHERE DLR_QLTY IS NOT NULL OR DLR_RISKY IS NOT NULL
GROUP BY STEP1.DEALER_NBR
+1對於複雜的答案 – LuigiEdlCarno 2013-02-14 15:14:07
這個答案並不複雜,但很簡單,並且根據需要詳細說明。好的! – Bitterblue 2014-03-31 06:49:26
感謝這個詳細的答案 – 2015-06-03 14:59:33