SQL Server中的条件总和 [英] Conditional sum in SQL Server
本文介绍了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屋!
查看全文