多列的总和和百分数

时间:2012-11-27 22:48:01

标签: mysql

我有一个包含q1,q2,q3

列的数据表

所以数据可能看起来像

q1    q2    q3
1     1     2
1     2     1
2     3     1

所以用户每次提交都有一条记录,而一条记录包含问题1,2和3的答案......这可能不是我想要做的最好的表格设计! 我想得到每个问题的计数和百分数

所以结果集看起来像

questionNum     responseNum   count   percent
1               1             2       66
1               2             1       33
2               1             1       33
2               2             1       33
2               3             1       33
3               1             2       66
3               2             1       33

这可以在1个查询中执行,还是需要3个单独的查询?

1 个答案:

答案 0 :(得分:0)

根据我的理解,此查询会返回您想要的内容(如果不是),而不是进一步解释您的问题。 试试这个:

SELECT questionNum, responseNum, `count`,
       FLOOR(`count` * 100 / (SELECT SUM(`count`) FROM question WHERE questionNum = b\q.questionNum)) percent
FROM question q