0

我需要得到求和的每一行的 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 - 获取求和行的 ID

谢谢!

4

2 回答 2

1

看来您正在这里寻找GROUP_CONCAT

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

SQL小提琴

于 2013-06-04T23:53:26.293 回答
0

你需要GROUP_CONCAT

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

这是我过去完成类似事情的方式

于 2013-06-04T23:54:08.517 回答