如何计算列的每个值所在的百分位数? (Spark SQL)[重复]
Posted
技术标签:
【中文标题】如何计算列的每个值所在的百分位数? (Spark SQL)[重复]【英文标题】:How can I calculate what percentile each value of a column is in? (Spark SQL) [duplicate] 【发布时间】:2021-04-19 20:08:28 【问题描述】:我有下表:
Person | Score |
---|---|
1 | 3.5 |
2 | 6.5 |
3 | 2.1 |
4 | 8.3 |
5 | 5.4 |
我有多个人,每个人只有一个分数。每个分数都是 10.0 分。
我想知道每个人的分数在哪个百分位。例如,第 2 个人的 6.5 分在第 x 个百分位,以此类推。
无法弄清楚语法,希望得到一些帮助。
【问题讨论】:
【参考方案1】:可能最简单的方法是排名与计数的比率:
select rank(score) over (order by score) * 100.0 / count(*) over ()
【讨论】:
以上是关于如何计算列的每个值所在的百分位数? (Spark SQL)[重复]的主要内容,如果未能解决你的问题,请参考以下文章