mysql group by query

时间:2010-03-09 08:31:38

标签: mysql sql

我有下表:

Service_ID   feedback  
31             1
32             1
33             1 

我有以下查询来查找总和:

SELECT Service_ID,SUM(consumer_feedback) FROM consumer5 group by Service_ID

我必须将输出作为

31 1
32 1
33 1

我收到了。但对于我的项目,我也有34,35。我应该输出

31 1
32 1
33 1
34 0
35 0

4 个答案:

答案 0 :(得分:0)

为此,您需要在所有服务ID的表上进行外连接。它会是这样的,但我确信这种语法有点错误:

SELECT Service_ID,total FROM(SELECT Service_ID,SUM(consumer_feedback)AS FROM FROM5按服务ID分组)OUTER JOIN service_ids ON Service_ID

答案 1 :(得分:0)

请发布表信息(结构查询),以便我们告诉您更多信息。另请发布数据以及ID 34和35出现的位置。

如果您有以下示例中的数据,那么您将获得34和35的结果:

31     1
32     1
33     1
34     0
35     0

如果你有这样的话,那么你也会得到34和35的结果,但是你得到NULL作为总和:

31     1
32     1
33     1
34     null
35     null

答案 2 :(得分:0)

您可能也有兴趣阅读JOINS:
http://www.devshed.com/c/a/MySQL/Understanding-SQL-Joins/

答案 3 :(得分:0)

SELECT service_id,
       SUM(IFNULL(feedback, 0))
FROM service_table
    LEFT JOIN feedback_table USING (service_id)
GROUP BY service_id;