我想进行调查(2个或更多选择),并将结果放在表格中。我只想知道如何计算sql查询中的结果。
甚至更多,我应该在查询中进行数学运算,还是仅使用PHP进行数学运算?
例子
问题表
question_id (int) question (text) answer_1 (varchar) answer_2 (varchar) answer_3 (varchar) etc...
答案表
answer_id (int) question_id (int) answer (int) The answer they chose. (1, 2, 3, etc.)
我将/应该如何计算结果?
编辑: 使用MySQL,PHP。答案之间的差异(45%表示不满意,50%表示不满意等等,5%表示不满意)。不是做作业,是Im EE,不是CS
如果事先不知道答案的数量,则将问题表分为2个会更简单- 一个用于问题(question_id,question_text),一个用于选择(question_id,choice_id,choice_text)。答案表可以做成(question_id,answer_id,choice_id)。然后使用以下类似方法选择它(QID =您选择的问题的ID):
SELECT choice, (COUNT(*) / (SELECT COUNT(*) FROM answers WHERE answers.question_id = QID)) * 100 AS percentage FROM choices INNER JOIN answers ON choices.choice_id = answers.choice_id AND choices.question_id AND choices.question_id WHERE choices.question_id = QID GROUP BY choice_id;
所有这些操作就是计算内部查询中答案的总数,然后针对每个选择,将具有该选择的答案的数量除以总数。