MySQL 2在查询中计数

时间:2013-12-03 21:06:14

标签: mysql sql count phpmyadmin

我有这张桌子,答案:

+----------------------------------+
| user  | question  | rightAnswer  |
+----------------------------------+
| ab    | 1         | 0            |
| bc    | 1         | 1            |
| de    | 1         | 1            |
| bc    | 2         | 1            |
| ab    | 2         | 1            |
| de    | 2         | 0            |
| fx    | 2         | 1            |
+----------------------------------+

我想在phpMyAdmin中创建一个视图,该视图可以显示问题编号,该问题的答案总数以及该问题的正确答案数。 我希望它看起来像:

+---------------------------------------------+
| question  | total answers  | right answers  |
+---------------------------------------------+
| 1         | 3              | 2              |
| 2         | 4              | 3              |
+---------------------------------------------+

有人可以帮助我提出这个观点吗?如何创建查询?我尝试了一些关于count(*)的东西,其中rightAnswer = 1,但我不能让它同时计算每个问题的答案总数和答案数。

提前致谢!

3 个答案:

答案 0 :(得分:1)

尝试这样的事情:

select question,count(*),sum(rightAnswer)
from TABLE
group by question
order by question

答案 1 :(得分:0)

select question, count(*) as total_answers, sum(rightAnswer) as right_answers
from your_table
group by question
order by question

答案 2 :(得分:0)

使用ms sql语法:

SELECT Question, totalAnswers.Total, rightAnswers.correct
FROM answers AS a
INNER JOIN (
    SELECT Question, COUNT(rightanswer) AS correct
    FROM answers
    WHERE rightanswer = 1
    GROUP BY Question
) rightAnswers
ON a.Question = rightAnswers.QUestion
INNER JOIN (
    SELECT Question, COUNT(rightanswer) AS total
    FROM answers
    GROUP BY Question
) totalAnswers
ON a.Question = rightAnswers.QUestion