计算Row Wise Sum – Sql server

前端之家收集整理的这篇文章主要介绍了计算Row Wise Sum – Sql server前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我的表:
ID              Q1         Q2           Q3            Q4
----------------------------------------------------------------
20130712        NULL       728.63       NULL            NULL
20130712        8881.55    9673.68      2629.566        6251.984
20130713        1813       1813         84.49           1728.51
20130714        3632.65    3632.65      1209.412        2423.238
20130714        70.758     2637.43      70.758          0
20130714        1601.578   3569.73      204.745         1396.833
20130714        728.63     728.63       0               728.63
20130714        1401.629   2251.39      94.418          1307.211
20130715        583.956    5089.19      583.956         0
20130805        6317.277   8958         2629.566        3687.711

我想要输出如下.(列可能会动态更改,需要按行计算Sum)

ID              Q1         Q2           Q3            Q4             SUM(Q1:Q4)
---------------------------------------------------------------------------
20130712        NULL       728.63       NULL            NULL         728.63   
20130712        8881.55    9673.68      2629.566        6251.984     27436.78
20130713        1813       1813         84.49           1728.51      5439
20130714        3632.65    3632.65      1209.412        2423.238     ...
20130714        70.758     2637.43      70.758          0
20130714        1601.578   3569.73      204.745         1396.833
20130714        728.63     728.63       0               728.63
20130714        1401.629   2251.39      94.418          1307.211
20130715        583.956    5089.19      583.956         0
20130805        6317.277   8958         2629.566        3687.711

解决方法

您没有显示您的查询尝试,但它可能是这样的:
SELECT
  ID,Q1,Q2,Q3,Q4,Q1 + Q2 + Q3 + Q4 AS "Total"
FROM MyTable

如果Q1,Q3或Q4值中的任何一个为空,则Q1 Q2 Q3 Q4将为空.要将空值视为零并获得正确的总和,请执行以下操作:

SELECT
  ID,COALESCE(Q1,0) + COALESCE(Q2,0) + COALESCE(Q3,0) + COALESCE(Q4,0) AS "Total"
FROM MyTable

COALESCE function将返回列表中的第一个非空值.

原文链接:https://www.f2er.com/mssql/84108.html

猜你在找的MsSQL相关文章