嗨,我需要获取行的总和,按供应商和项目名称 mysql 分组
Posted
技术标签:
【中文标题】嗨,我需要获取行的总和,按供应商和项目名称 mysql 分组【英文标题】:hi i need to get a sum of rows , group by with supplier and item name mysql 【发布时间】:2020-08-30 22:24:13 【问题描述】:我的数据库会是这样的
id|item_name|item_qty|added_by
1 |panadol |200 |1
2 |panadol |300 |2
3 |panadol |100 |1
4 |biner |100 |1
我需要的输出应该是这样的
id|item_name|item_qty|added_by|total
1 |panadol |300 |1 |600
2 |panadol |300 |2 |600
3 |biner |100 |1 |100
我需要可用产品的总数以及每个供应商关于每种产品的总数
Medicine:"Panadol",
1(supplier ID):300,
2(suppID):300,
Sum:600
Medicine:"biner",
1(supplier ID):100,
Sum:100
【问题讨论】:
【参考方案1】:您可以使用聚合和窗口函数 - 如果您运行的是 mysql 8.0:
select
item_name,
sum(item_qty) item_qty,
added_by,
sum(sum(item_qty)) over(partition by item_name) total
from mytable
group by item_name, added_by
在早期版本中,您可以join
两个聚合查询,或使用相关子查询:
select
item_name,
sum(item_qty) item_qty,
added_by,
(select sum(t1.item_qty) from mytable t1 where t1.item_name = t.item_name) total
from mytable t
group by item_name, added_by
【讨论】:
以上是关于嗨,我需要获取行的总和,按供应商和项目名称 mysql 分组的主要内容,如果未能解决你的问题,请参考以下文章