SQL Server中的条件总和 [英] Conditional sum in SQL Server

查看:65
本文介绍了SQL Server中的条件总和的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在MSSQL中有此表:

I have this table in MSSQL:

ID   OP1   OP2  OP3
330   0     0    1
331   1     0    0
332   3     2    0

OP是可选的。可以从1到9,0表示问题没有答案。

OP's are options. There can go from 1 to 9, 0 means that question was not answer.

我如何在已回答列中求和,如下所示:

How can i "sum" in a column called "Answered", like so:

ID   OP1   OP2  OP3  T
330   0     0    1   1
331   1     0    0   1
332   3     2    0   2

值大于0,表示已回答。

A value over 0, means answered.

如果出现IF语句,我会尝试使用CASE。

I try with CASE WHEN, IF statements.

推荐答案

使用 CASE

SELECT Id, OP1, OP2, OP3, 
       (CASE WHEN OP1 > 0 THEN 1 ELSE 0 END +
        CASE WHEN OP2 > 0 THEN 1 ELSE 0 END +
        CASE WHEN Op3 > 0 THEN 1 ELSE 0 END) AS T
FROM MyTable

这篇关于SQL Server中的条件总和的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆