加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

计算Row Wise Sum – Sql server

发布时间:2021-03-06 05:06:08 所属栏目:MsSql教程 来源:网络整理
导读:这是我的表: ID Q1 Q2 Q3 Q4----------------------------------------------------------------20130712 NULL 728.63 NULL NULL20130712 8881.55 9673.68 2629.566 6251.98420130713 1813 1813 84.49 1728.5120130714 3632.65 3632.65 1209.412 2423.238201

这是我的表:

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将返回列表中的第一个非空值.

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读