Mysql 如何使用基于价格的数量总和的组_concat?
这是我的表,其中存储id及其数量和价格。我想根据价格计算数量。有时,如果数量为负值,则数量可能显示为0。因此,当按价格分组时,我不会显示数量的价格为0Mysql 如何使用基于价格的数量总和的组_concat?,mysql,sql,eloquent,Mysql,Sql,Eloquent,这是我的表,其中存储id及其数量和价格。我想根据价格计算数量。有时,如果数量为负值,则数量可能显示为0。因此,当按价格分组时,我不会显示数量的价格为0 id | id_item | qty | price 1 1 10 1.00 2 1 15 2.00 3 1 10 1.00 4 2 5 2.00 5 2 5 2.50 6 3 10
id | id_item | qty | price
1 1 10 1.00
2 1 15 2.00
3 1 10 1.00
4 2 5 2.00
5 2 5 2.50
6 3 10 1.00
7 3 10 1.00
8 3 5 1.00
这就是我尝试过的
Select id_item, price, sum(qty) as total from sales group by id_item, price having total !=0;
Result
id_item | qty | price
1 20 1.00
1 15 2.00
2 5 2.00
2 5 2.50
3 10 1.00
concat的预期结果
id_item | qty | price
1 20,15 1.00,2.00
2 5,5 2.00.2.50
3 10 1.00
如何实现所示的结果?我认为您需要两个级别的聚合:
select id_item, group_concat(total order by price) as quantities,
group_concat(price order by price) as prices
from (Select id_item, price, sum(qty) as total
from sales
group by id_item, price
having total <> 0
) s
group by id_item;