SQL使用现有行进行分组和计数

时间:2011-11-16 14:01:05

标签: mysql sql

假设我们有一个表格Requests,其结构为:

user_id 
product_id 
count

使用以下条目:

1 1 5  
1 2 6  
1 1 3
2 1 7
2 1 3
2 2 5

我想计算每个用户拥有的每种产品的数量。

得到这样的输出:

1 1 8
1 2 6
2 1 10
2 2 5

3 个答案:

答案 0 :(得分:2)

您的查询将如下所示:

SELECT user_id, product_id, SUM(`count`)
FROM Requests
GROUP BY user_id, product_id

如果我有选择的话,我不会将字段命名为“count”,因为它是一个SQL函数,可能会导致奇怪的命名冲突。

答案 1 :(得分:2)

将GROUP BY与SUM聚合函数一起使用:

SELECT user_id, product_id, SUM(count) AS total
FROM Requests
GROUP BY user_id, product_id

答案 2 :(得分:0)

您可以在此处找到有关如何使用GROUP BY的教程:

您还可以在MySQL手册中找到有关MySQL中GROUP BY的语法和用法的具体信息: