正如您在下面的图片中所看到的,我需要计算每列上有多少个“1”,数字“1”表示受访者在家中感到安全(AP_4_01),工作场所(AP4_4_02)等等. .
2号=不安全
3号=不适用
9号=没有回答
+----------+----------------------+
| Columns | Numbers of persons |
+----------+----------------------+
| AP4_4_01 | 312 |
| AP4_4_02 | 232 |
| AP4_4_03 | 345 |
| AP4_4_0X | XXX |
+----------+----------------------+
最佳答案 您只需要在某些case语句中使用SUM函数
SELECT
SUM(CASE WHEN AP_4_01 = 1 THEN 1 ELSE 0 END)
,SUM(CASE WHEN AP_4_02 = 1 THEN 1 ELSE 0 END)
...etc
FROM Table
要获得类似问题的结果集,您需要使用UNPIVOT函数,或者您可以在excel中转置它.