使用bigquery中的groupby函数计算COUNT的%

Pet*_*eau 1 sql google-bigquery

遇到一些问题,想知道如何添加额外的列,该列将给出计数函数聚合总数的百分比。我的查询如下所示:


    Select
       count(*) AS num_rides,
       member_casual
    FROM `2020_bikeshare_data`
    GROUP BY member_casual
    ORDER BY num_rides DESC

Run Code Online (Sandbox Code Playgroud)

并返回给我这个结果:

乘车次数 会员休闲
2134988 成员
1341217 随意的

我想做的是添加第三列,列出每个会员占总数的百分比

乘车次数 会员休闲 perc_tot
2134988 成员 61.4%
1341217 随意的 38.6

想法?

Gor*_*off 5

你的窗口函数:

SELECT member_casual,
       COUNT(*) AS num_rides,
       COUNT(*) * 1.0 / SUM(COUNT(*)) OVER ()
FROM `2020_bikeshare_data`
GROUP BY member_casual
ORDER BY num_rides DESC;
Run Code Online (Sandbox Code Playgroud)

不需要子查询。