如何求单一产品占供应商总收入的百分比?

问题描述

有多个供应商,每个供应商都销售了多种产品。我如何在 sql 中找到他们的一种产品的收入与该供应商总销售额的百分比?

这是我必须处理的数据示例:

供应商 产品 产品价格 销售数量
供应商 A 苹果 $2 1
供应商 A 鞋子 $3 2
供应商 B 衬衫 $1 3

供应商 A 的苹果的收入应该是 2 美元,他们的总收入是 8 美元。因此,供应商 A 的苹果占总销售额的百分比应为 25%。

解决方法

您将使用除法值。 . .并使用窗口函数:

select supplier,product,sum(price * quantity),sum(price * quantity) / sum(sum(price * quantity)) over (partition by supplier) as ratio
from t
group by supplier,product;