我有一个当前的表格
,并希望获得此所需的表:
如您所见,该所需表应具有第四列,该列指示我该行中的价格与同一产品行中其余值的比例值
例如,对于A类产品,我有三个产品(1、2和3),价格分别为20、20和30。
在这种情况下,对于产品1,我希望获得其重量为(产品价格/属于产品A的产品价格之和)。这怎么可能?
谢谢
答案 0 :(得分:2)
我们可以在此处尝试使用SUM()
作为分析函数:
SELECT
PRODUCT,
PRODUCT_TYPE,
PRICE,
1.0 * PRICE / SUM(PRICE) OVER (PARTITION BY PRODUCT_TYPE) AS WEIGHT
FROM yourTable;
这里的想法是上面的SUM()
是一个窗口函数,用于计算每种产品类型的总价之和。然后将其用于标准化每个记录的每个价格。