2013-06-04 41 views
0

我需要获取每个总结行的ID。我发现Sql Server已经有了一个答案,但我需要在MYSQL中做到这一点。任何帮助是极大的赞赏!mysql - 获取总计行的ID号

简体,我有以下表quote_items:

id finishing_sf finish_id 
1 10   1 
2 20   2 
3 30   1 
4 40   2 

我想计算的finish_id分组的所有finishing_sf的总和还可以获得包含ID列表中的另一列包含在这个总和。如下图所示:

finish_id sum item_ids 
1   40 1,3 
2   60 2,4 

查询会是这样的:

SELECT SUM(`finishing_sf`) /* (list of IDs) */ 
FROM `quote_items` 
GROUP BY `finish_id` 

这里的线程解释如何使用SQL-Server特定的语法做到这一点。 Sql Server - Get Ids of summed rows

谢谢!

回答

0

看来你正在寻找GROUP_CONCAT这里:

SELECT `finish_id`, 
      SUM(`finishing_sf`) AS `sum`, 
      GROUP_CONCAT(`id`) AS `item_ids` 
     FROM `quote_items` 
    GROUP BY `finish_id` 

SQL Fiddle

+0

不应该说是'GROUP_CONCAT(ID)'? –

+0

我已经修复了这个问题。 ) – raina77ow

+0

完美!谢谢您的帮助! – zwiebelspaetzle