在 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)
我正在尝试获取 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)