我有一些简单的调查数据,我很想帮忙。我使用 PHP/MYSQL。
基本上,该调查有 20 个问题,每个问题有 3 个可能的答案:Y、N 和 N/A。我想在最后使用公式对每项调查进行“评分”:Y/(Y+N)。
问题:我如何在最后得出“SCORE”列?使用 SQL 查询还是使用 PHP(以某种方式)? MYSQL 中是否有像 Excel 那样的 COUNTIF 函数?
像这样的查询:COUNTIF("Y", Column1:Column20) 会很棒——如果它存在的话!
感谢建议! (我想我正在寻找与这个问题一样多的程序建议和技术建议)。
谢谢
特里
Q1 Q2 Q3 Q4 Q5 SCORE
---------------------
Person1 - y n y n n/a 50%
Person2 - y y y y y 100%
Person3 - y y y y n/a 100%
最佳答案
没有技巧。冗长的 SUM(CASE ...)
每个问题一行会更容易......尤其是当您添加更多问题时。请参阅First Normal Form
SELECT
SUM(
CASE WHEN Q1 = 'y' THEN 1 ELSE 0 END +
CASE WHEN Q2 = 'y' THEN 1 ELSE 0 END +
...
CASE WHEN Q20 = 'y' THEN 1 ELSE 0 END
)
/
SUM(
CASE WHEN Q1 IN ('y', 'n') THEN 1 ELSE 0 END +
CASE WHEN Q2 IN ('y', 'n') THEN 1 ELSE 0 END +
...
CASE WHEN Q20 IN ('y', 'n') THEN 1 ELSE 0 END
),
Person
FROM
myTable
GROUP BY
Person
关于php - 使用 MySQL 分析调查数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752985/