私は2つのテーブルquestions
とを持っていanswered
ます。answered
すべてのユーザーのすべての質問に対する回答が含まれています。1人のユーザーが複数回質問に答えることができます。質問には正しくまたは間違って答えることができます。
1つのカテゴリのすべての質問に対する正解と不正解の数を返すクエリを探しています。ただし、最新の回答のみを使用したいと思います。したがって、ユーザーが以前に同じ質問に間違って答えた場合、そして最近正しく答えた場合、私は最新の-正しい-1つだけを数えたいと思います。
これは私がこれまでに得たものです:
http://sqlfiddle.com/#!2/31e2e/2/0
SELECT a.correct, count(*) as count
FROM answered a JOIN questions q ON a.question_id = q.id
WHERE a.user_id = 1 AND q.category_id = 1
GROUP BY correct
戻ります
| CORRECT | COUNT |
-----------------------
| 0 | 2 |
-----------------------
| 1 | 4 |
-----------------------
私が欲しいのは
| CORRECT | COUNT |
-----------------------
| 0 | 1 |
-----------------------
| 1 | 2 |
-----------------------