首页 > 解决方案 > 在 BigQuery 中获取 DISTINCT 日期的 DISTINCT ID?

问题描述

我正在尝试在 BigQuery 中获取 DISTINCT 日期的 DISTINCT ID 以构建报告。日期字段是 kay 分区字段。我试着从看起来像的东西开始

SELECT DISTINCT(Id) FROM `project.dataset.table` 
WHERE DATE(KeyPartitionDate) 
BETWEEN '2017-01-01' AND '2020-06-01'

但这只会给我这两个日期之间的不同 ID。现在,当涉及到查询和检查一年中的每个月的 DISTINCT(Ids) 时,我不知道该怎么做。我尝试使用 DISTINCT 和 GROUP By 作为日期,但这似乎不是正确的路径......知道吗?

标签: sqlgoogle-bigquerydistinct-values

解决方案


如果您正在寻找每个月不同 ID 的数量,那么这可能会对您有所帮助。

SELECT DATE_TRUNC(DATE(KeyPartitionDate), MONTH) as month,COUNT(DISTINCT Id) as num_of_Ids 
FROM `project.dataset.table` 
WHERE DATE(KeyPartitionDate) BETWEEN '2017-01-01' AND '2020-06-01'
GROUP BY DATE_TRUNC(DATE(KeyPartitionDate), MONTH)

推荐阅读