我正在创建一个表格,该表格可以计算三列中的所有“异常”数据并将这些列相加作为总数。
SELECT
COUNT(CASE WHEN p_eyes <> 'Normal' THEN 1 END) AS 'abnormalEyes',
COUNT(CASE WHEN p_ears <> 'Normal' THEN 1 END) AS 'abnormalEars',
COUNT(CASE WHEN p_nose <> 'Normal' THEN 1 END) AS 'abnormalNose'
FROM student_physical_record_exam_grade_eleven;
这将从这三列计算所有非“正常”。
有什么办法可以将这三列合计为“眼睛/耳朵/ Nose ”?
最佳答案
如果您只想对这些结果求和,可以将它们相加。最简单的方法是使用子查询:
SELECT *, abnormalEyes + abnormalEars + abnormalNose AS totalAbnormal
FROM (SELECT COUNT(CASE WHEN p_eyes <> 'Normal' THEN 1 END) AS abnormalEyes,
COUNT(CASE WHEN p_ears <> 'Normal' THEN 1 END) AS abnormalEars,
COUNT(CASE WHEN p_nose <> 'Normal' THEN 1 END) AS abnormalNose
FROM student_physical_record_exam_grade_eleven) t
关于mysql - 如何对所有 count(case) 子列求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55392589/