mysql - 获取求和行的ID

时间:2013-06-04 23:51:29

标签: mysql group-by

我需要得到总和的每一行的ID。我看到已经有了Sql Server的答案,但我需要在MYSQL中做到这一点。非常感谢任何帮助!

简体中,我有以下表格quote_items:

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

我想计算按finishing_sf分组的所有finish_id的总和,还要获得包含此总和中包含的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

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

您需要GROUP_CONCAT

  

此函数返回字符串结果,其中包含来自组的连接非NULL值。如果没有非NULL值,则返回NULL。

Here's how我曾经做过类似的事情