mysql - SQL 查询将项目及其数量分组,然后显示总数量
问题描述
我想使用 SQL 查询重新排列以下数据:
我想将相同的 order_id 分组以显示如下:
99996 | 63 - 2, 62 - 2 | 4
因此,这是在同一订单中查找商品,显示产品 ID 和数量,然后显示每个订单的所有数量的总和。
通常我会尝试这个并显示我的代码,但我什至不知道从哪里开始!
解决方案
使用两个级别的聚合:
select order_id, group_concat(product_id, ' - ', cnt separator ', ') as products, sum(cnt) as total
from (select order_id, product_id, count(*) as cnt
from t
group by order_id, product_id
) op
group by order_id;