【发布时间】:2021-10-30 15:44:46
【问题描述】:
我有一个数据集
返现表
user | order_amount
-------+------------
raj | 200
rahul | 400
sameer | 244
amit | 654
arif | 563
raj | 245
rahul | 453
amit | 534
arif | 634
raj | 245
amit | 235
rahul | 345
arif | 632
我要计算每个用户订单金额的百分位数
并且如果任何用户的订单金额的百分位数超过 80 个百分位数,则在新列中返回“是”否则“否” Big_spender 表示他是支出最多的人之一
输出看起来像
user | percentile | Big_Spender
-------+------------+------------
raj | 50 | NO
rahul | 40 | NO
sameer | 84 | YES
amit | 85 | YES
arif | 96 | YES
【问题讨论】:
-
平均订单金额
-
请描述如何计算
percentile -
你能说得更具体些吗?让我们以
arif为例 - 他的订单总和是 1829,订单数量是 3,平均每个订单是 609.667。有了这些信息,你如何计算百分位数 -
对不起,不会使用平均值,将使用中位数
-
@LandLord 即使它是中位数,您也没有解释如何计算百分位数。如果我们回到
arif示例,现在中位数是 632?你是怎么得到 96 的百分位数的?
标签: sql case percentile percentile-cont