查询以获取已回答的调查问题的摘要(不同的列值)

时间:2012-07-05 04:49:55

标签: mysql sql

我有一份调查表,每当有人完成调查时,就会在survey_result表中创建一条记录。

该表格中包含每个问题的列。大多数是mutl-choice,有些是自由文本。

即。表中的列:

happy_or_sad (no. yes, sometimes)
are_you_busy (no, yes, sometimes)
your_suggestion 

现在我想显示已提交的多项选择答案的摘要。

问题:快乐还是悲伤? 否(40%)是(20%)有时(40%)

(或者如果百分比太多,则至少计算一次)。什么是最有效的查询或查询我可以用来获得这个?

1 个答案:

答案 0 :(得分:1)

尝试:

SELECT
    (SUM(happy_or_sad = 'no') / COUNT(*)) * 100 AS percentage_no,
    (SUM(happy_or_sad = 'yes') / COUNT(*)) * 100 AS percentage_yes,
    (SUM(happy_or_sad = 'sometimes') / COUNT(*)) * 100 AS percentage_sometimes,
FROM
    survey_result