如何在SQL查询中对两个字段进行求和
我需要获得在同一行内的两个字段的总和,并在该行末尾的字段中input该数字。
这是我的代码。
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
尝试以下操作:
SELECT *, (FieldA + FieldB) AS Sum FROM Table
SUM用于对多行中的列进行求和。 你可以只添加你的列:
select tblExportVertexCompliance.TotalDaysOnIncivek + tblExportVertexCompliance.IncivekDaysOtherSource AS [Total Days on Incivek]
求和函数只获得一列的总和。 为了求和来自不同列的两个值,将这些值转换为int并使用+ -Operator将其相加
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 Coder的回答发表评论或投票。 这是做这件事的最好方法,所以你不必使用这个组,因为我有类似的问题。
通过做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
如果你想添加两列,所有你需要做的就是添加它们。 然后,您将获得查询返回的每一行的这两列的总和。
你的代码正在做的是将两列加在一起,然后得到总和。 这将起作用,但它可能不是你想要完成的。