到目前为止我尝试了这个查询
Select quartile,avg(data),max(data) FROM ( SELECT data,ntile(500) over (order by data) as quartile FROM data ) x GROUP BY quartile ORDER BY quartile
但我怎么找到百分位数
ntile
是如何计算百分位数(以及其他n-tiles,例如四分位数,十分位数等). ntile将表分组到指定数量的桶中尽可能相等.如果你指定了4个桶,那将是一个四分位数. 10将是十分位数.
对于百分位数,您可以将桶数设置为100.
我不确定500在这里的位置…如果你想确定你的数据在哪个百分位(即将百万个时间分成尽可能平均分为100个桶),你可以使用ntile,参数为100,这些小组将有超过500个条目.
如果你不关心avg或max,你可以从查询中删除一堆.所以它看起来像这样:
SELECT data,ntile(100) over (order by data) AS percentileFROM dataORDER BY data总结
以上是内存溢出为你收集整理的postgresql – 如何计算postgres中的百分位数全部内容,希望文章能够帮你解决postgresql – 如何计算postgres中的百分位数所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)