sql 计算Postgresql中的百分位数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 计算Postgresql中的百分位数相关的知识,希望对你有一定的参考价值。

-- simple but slow method
-- percentile_disc will return a value from the input set closest to the percentile you request
-- percentile_cont will return an interpolated value between multiple values based on the distribution
select k, percentile_disc
within group(order by colume_of_table)
from table_name, generate_series(start_num, end_num, step) as k
group by k

-- fast method using window function
select max(buckets.colume_name), ntile as percentile
from(
    select colume_of_table, ntile(percentile_num_you_want)
    over (order by colume_of_table)
    from table_name
    ) as buckets
group by 2
order by 2

以上是关于sql 计算Postgresql中的百分位数的主要内容,如果未能解决你的问题,请参考以下文章

按百分位数将类似 sql 的查询的结果分组:在 Redshift / postgresql

根据 SQL 中的日期计算百分位数

如何在 SQL 中设置滚动的 7 天第 75 个百分位数?

在 SQL 中分析并形成分位数并计算落在各个分位数中的值的百分比

SQL 百分位数计算运行非常缓慢 - 需要帮助加快速度

如何计算列的每个值所在的百分位数? (Spark SQL)[重复]