【发布时间】:2021-09-23 01:10:30
【问题描述】:
我想计算 SQL 中给定分区/组的 累积 百分位数。例如输入数据看起来像 -
CustID Product ID quantity_purchased
1 111 2
2 111 3
3 111 2
4 111 5
1 222 2
2 222 6
4 222 7
6 222 2
我想获得每个产品 ID 组的累积百分位数。输出应该是 -
Product ID min 25% 50% 75% max
111 2 2 2.5 3.5 5
222 2 2 2.5 5.25 7
所以,基本上对于产品 ID 111,我只需要为产品 ID 111 取 quantity_purchased 的百分位数,但是当我在列中继续进行时,百分位数应该是产品 ID 222 的累积含义将考虑产品 ID 111 和产品 ID 222 (2,3,2,5,2,6,7,2) 的 quantity_purchased 值进行计算。同样,如果数据中有产品 ID 333,那么对于产品 ID 333,我将根据与产品 111、产品 222 和产品 333 关联的所有数量购买值计算百分位数,并将结果存储在产品 333 行中。如何使用 SQL 实现这一点?
【问题讨论】:
-
2.5、5.25是什么意思?
-
@AIMINPAN 所以要计算产品 ID 222 的百分位数,我将考虑产品 ID 111 和产品 ID 222 (2,3,2,5,2,6,7,2) 的所有数量购买值并在所有这些上做一个百分位。我在问题中添加了更多细节
标签: sql snowflake-schema