2014-12-04 30 views
0

这似乎是很容易在我的头上,但我想不出如何编写查询:SQL查询来算(x)和组由y

我有什么:

user_id correct_questions 
    1     5 
    1     2 
    2     3 
    2     1 

什么我想要:

user_id correct_questions(sum) 
    1      7 
    2      4 

我唯一得到的是用户x玩过的频率。

(与count(correct_questions) GROUP BY user_id

+2

有什么事情在今天的水呢? – Strawberry 2014-12-04 12:06:01

+7

尝试'sum()'而不是'count()'。 – 2014-12-04 12:06:06

+0

@Strawberry不知道,问卡丽安德伍德! – undone 2014-12-04 12:36:18

回答

1

那么只有你所要做的事情就是SUM +组通过:

select user_id, SUM(correct_questions) as correct_questions 

from yourtable 

Group by user_id 
0
select sum(correct_questions) from table_name group by user_id 
0

你需要的是SUM()功能,而不是COUNT()是正确的 “Grodon Linoff” 指出

select sum(correct_questions) as correct 
from table 
group by user_id 
0
select user_id, sum(correct_questions) from tb_name group by user_id 
0

虽然我写了这个,但其他10人写了同样的内容。谢谢!


我刚刚在问题中回答了我自己的问题。

当然我必须使用SUM(),而不是COUNT()

SELECT *, sum(`correct_answers`) as sum 
FROM `user_quiz_rel` 
GROUP BY `u_id`