在 BigQuery 中获取不同日期的不同 ID?

Get DISTINCT IDs for DISTINCT dates in BigQuery?

我正在尝试获取 BigQuery 中不同日期的不同 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,但这似乎不是正确的路径...... 有什么想法吗?

#standardSQL
SELECT DISTINCT
  DATE_TRUNC(DATE(KeyPartitionDate), MONTH) year_month,
  id 
FROM `project.dataset.table` 
WHERE DATE(KeyPartitionDate) 
BETWEEN '2017-01-01' AND '2020-06-01'

如果您要查找每个月不同 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)