我有两个表questions
和answered
。 answered
包含所有用户的所有问题的答案。一位用户可以多次回答问题。一个问题可以被正确或不正确地回答。MySQL:通过查询获取组中的最新值
我在查找一个查询,它将返回一个类别中所有问题的正确答案和错误答案的计数。 尽管我只想使用最新的答案。因此,如果用户之前正确回答了相同的问题,并且正确地更近一些,我只想计算最新的 - 正确的 - 。
这是我走到这一步:
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 |
-----------------------
是如何解答确定为当前或更早?有'datetime'列吗? – 2012-07-31 15:43:28
是的,看看他发布的sqlfiddle.com页面:) – 2012-07-31 15:53:21