【发布时间】:2021-10-04 15:49:09
【问题描述】:
现在我在 mysql 上使用 GROUP_CONCAT 做一些查询。例如
我有表“sales_orders”
+----------+----------+------------+
| order_id | quantity | product_id |
+----------+----------+------------+
| 1 | 1 | 101|
| 1 | 1 | 102|
| 2 | 1 | 103|
| 2 | 1 | 104|
| 3 | 1 | 101|
| 3 | 1 | 102|
+--------+------------+------------+
我的查询是这样的
SELECT order_id, count(quantity) AS qty, GROUP_CONCAT(DISTINCT product_id ORDER BY product_id ASC ) AS product_id FROM sales_orders GROUP BY order_id
这样的输出
+----------+-----+------------+
| order_id | qty | product_id |
+----------+-----+------------+
| 1| 2|101,102 |
| 2| 2|103,104 |
| 3| 2|101,102 |
+----------+-----+------------+
如果我们看到,product_id 与101,102 的结果相同。我如何才能设法将相同的结果与数量合并为这样。
+-----+------------+
| qty | product_id |
+-----+------------+
| 4|101,102 |
| 2|103,104 |
+-----+------------+
也许 order_id 对我来说并不重要。请帮忙
【问题讨论】:
标签: mysql group-concat