BigQuery:除以列中值的总和即可找到比率

Psy*_*uck 3 sql google-bigquery legacy-sql

我有一个简单的表,有两列Bin_name(int) 和Count_in_this_bin(int)

我想将其转换为每个垃圾箱与所有垃圾箱中总数的比率。

我在 Google BigQuery 中使用了以下查询:

SELECT count_in_bin/(SELECT SUM(count_in_bin) FROM [table])
FROM [table]
Run Code Online (Sandbox Code Playgroud)

然后我得到

错误:查询失败错误:SELECT 子句中不允许子选择

现在有人可以告诉我在 BigQuery 中进行这种简单划分的正确方法吗?

Mik*_*ant 5

BigQuery 旧版 SQL

#legacySQL
SELECT 
  count_in_bin, 
  RATIO_TO_REPORT(count_in_bin) OVER() AS ratio
FROM [project:dataset.table]
Run Code Online (Sandbox Code Playgroud)

BigQuery 标准 SQL

#standardSQL
SELECT 
  count_in_bin, 
  count_in_bin / total AS ratio
FROM `project.dataset.table`, 
(SELECT SUM(count_in_bin) total FROM `project.dataset.table`)
Run Code Online (Sandbox Code Playgroud)