获得该项目属于在SQL
问题描述:
我试图把一些简单的统计,但坚持认为计算笔者属于根据他的总成绩百分位数百分比:获得该项目属于在SQL
select
[by] author,
count(*) count,
sum(score) sum_score,
quantiles(sum(score), 101) percentile_sum_score,
from
[bigquery-public-data:hacker_news.stories]
group by
author
此代码返回每个作者的sum(score)
列percentile_sum_score
(定义为quantiles(sum(score), 101)
)。但与其他作者相比,不是作者所处的百分位数。
这发生在BigQuery,并且一些常规功能不可用(docs)。
有没有办法获得正确的统计数据?
答
你可能会寻找PERCENT_RANK()功能
下面是可能使用你的例子
SELECT
author,
[count],
sum_score,
PERCENT_RANK() OVER(ORDER BY sum_score DESC) percentile_sum_score,
FROM (
SELECT
[by] author,
COUNT(1) [count],
SUM(score) sum_score,
FROM [bigquery-public-data:hacker_news.stories]
GROUP BY author
)