我有一个包含 3 个可能值 (1,0,NA) 的表
Customers | Answer1 | Answer2 | Answer3
-----------------------------------
John | 1 | 0 | NA
Dave | NA | 0 | NA
Jane | 0 | 1 | 1
Tom | 1 | 0 | 0
我试图只计算 1 和 0 作为值。
我试图实现的查询结果是:
Customers | Total_Score
-----------------------
John | 2
Dave | 1
Jane | 3
Tom | 3
使用 MySQL 作为数据库。
我尝试使用:
SELECT Customers, COUNT(Answer1 + Answer2 + Answer3) AS Total_Score FROM exam
. SQL 查询只对值求和,不计算值 1 和 0。感谢您的帮助。我一直被困住并一直在寻找,但没有运气。
最佳答案
如果您有同一客户的多个记录,则执行
SELECT Customers,
sum((Answer1 <> 'NA') + (Answer2 <> 'NA') + (Answer3 <> 'NA')) AS Total_Score
FROM exam
group by Customers
或者如果每个客户只有一个
SELECT Customers,
(Answer1 <> 'NA') + (Answer2 <> 'NA') + (Answer3 <> 'NA') AS Total_Score
FROM exam
SQLFiddle demo
关于php - SQL 计算多列中的某些值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28248856/