如何根据bigquery中另一列中的重复值计算一列
Posted
技术标签:
【中文标题】如何根据bigquery中另一列中的重复值计算一列【英文标题】:How to count a column based on repeated values in another column in bigquery 【发布时间】:2021-02-28 15:33:36 【问题描述】:我有下表
student_id | subjects |
---|---|
1 | math |
english | |
2 | math |
我需要计算每个学科有多少学生
我尝试执行以下查询,但在 +4TB 数据上出现“超出资源”错误(主题数组在实际数据中很大)
选择主题,计数(不同的 id) 从 my_table t, unnest(t.subjects) 主题 按主题分组我认为未嵌套和太大数据的问题是什么?有什么建议吗?
【问题讨论】:
【参考方案1】:尝试使用 APPROX_COUNT_DISTINCT,如下例所示
select subject, approx_count_distinct(student_id) students
from my_table t,
unnest(t.subjects) subject
group by subject
【讨论】:
以上是关于如何根据bigquery中另一列中的重复值计算一列的主要内容,如果未能解决你的问题,请参考以下文章
将 Google BigQuery 中一个表中的 XML 数据转换为同一表中另一列中的 JSON 数据
使用 Filter 或 If Else 根据 R 中另一列中的值过滤指标