MySQL组记录相似,然后给组总计

时间:2012-08-21 23:49:08

标签: mysql

我有一组数据,我正在尝试操作以获得一些结果。在一张表中,我有不同的废物类型存储如下:

-----------------------------
| id  | wastetype | percent |
|-----|-----------|---------|
|  1  |    12     |   30    |
|  2  |    12     |   20    |
|  3  |    12     |   10    |
-----------------------------

基本上,我想要做的是在给定特定废物类型ID的情况下显示表中所有废物类型的累积。我想使用数据库完成此任务,以便我所拥有的PHP代码可以在任何进一步的计算中使用查询的结果或打印结果。我知道如果我使用COUNT它将不计算字段中包含的值,但它会计算它们出现在表中的次数。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

使用SUM代替COUNT。试试,

SELECT SUM(percent) totalPercentage
FROM tableName
WHERE wasteType = 1

OR

SELECT wastetype, SUM(percent) totalPercentage
FROM tableName
GROUP BY wasteType
WHERE wasteType = 1

答案 1 :(得分:0)

SELECT COUNT(*) AS num, SUM(percent) AS sum_percent FROM table GROUP BY wastetype;

GROUP BY将给定字段的值具有相同值的记录组合在一起。使用grouping functions可以收集有关分组数据的信息。