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 |
想法?
你的窗口函数:
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)
不需要子查询。