如何将分组列的数量作为列计算?

时间:2014-01-20 15:04:52

标签: mysql sql

我在MySQL中有一个表结构,如下所示: user_id, problem_id, value

我成功地将问题分组在一起,但我希望能够计算出组合在一起的列数量。

这是我最接近的:

SELECT problem_id, sum(value) as knowledge, GROUP_CONCAT(value) as attempts
FROM responses 
GROUP BY problem_id 

它产生类似于(更多数据)的东西:

PROBLEM_ID 尝试
162 0 0,0,0
172 3 1,1,1
166 1 1,0

当然,我可以用我想要的任何编程语言进行分割和计数,但我对此不会感觉良好。

如果有人可以帮我格式化为:

,我将不胜感激

PROBLEM_ID 尝试
162 0 3
172 3 3
166 1 2

修改<!/强>

我明白了!

SELECT problem_id, sum(value) as knowledge, COUNT(*) as attempts
FROM responses 
GROUP BY problem_id

我没想到伯爵会在这里动态分组。也许我错过了什么。

谢谢!

1 个答案:

答案 0 :(得分:0)

我明白了!

选择problem_id,sum(value)作为知识,COUNT(*)作为尝试 来自回应 GROUP BY problem_id

我没想到伯爵会在这里动态分组。也许我错过了什么。