如何在 BigQuery 中找到每条记录(由 ID 标识)的所有不同值?
Posted
技术标签:
【中文标题】如何在 BigQuery 中找到每条记录(由 ID 标识)的所有不同值?【英文标题】:How do I find all distinct values for each record (identified by ID) in BigQuery? 【发布时间】:2021-02-03 13:55:19 【问题描述】:数据
这是从另一个地方导入的,所以我在 BigQuery 中的数据如下所示:
order_id | owner_pk | owner_sk | other_properties | currency
注意事项
PK+SK 是原始数据集中的索引(但在 BQ 中没有) 原始数据集中 PK+SK 的订单 ID 是唯一的 OrderID+PK+SK 对于每条记录都是唯一的(根据原始数据集)问题
我想知道是否有来自同一所有者 (PK+SK) 的订单 (order_id) 具有不同的(不同的?)currency
值。我不需要实际的订单,真/假就可以了。
感谢任何有关查询的帮助! :)
【问题讨论】:
【参考方案1】:您可以使用聚合。我会返回货币和数字:
select owner_pk, owner_sk,
array_agg(distinct currency) as currencies,
count(distinct currency) as num_currencies
from t
group by owner_pk, owner_sk;
【讨论】:
以上是关于如何在 BigQuery 中找到每条记录(由 ID 标识)的所有不同值?的主要内容,如果未能解决你的问题,请参考以下文章
如何将集合和子集合一起从 firestore 导出到 excel 或 bigquery 表?