sql - 在 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 作为日期,但这似乎不是正确的路径......知道吗?
解决方案
如果您正在寻找每个月不同 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)
推荐阅读
- javascript - 如何找到能够容纳在已知尺寸的椭圆内的最大矩形?
- sass - Sass 函数从类中获取值
- sql - SQL Distinct 关键字
- python - gcp 数据流 apache-beam 问题。使用代码将另一个 python 文件导入到 main .py
- oracle - PLSQL:当数据不是来自该类型时,FORALL 插入
- delphi - 上传后 TIdFTP 文件损坏
- xpages - Openntf Domino API v10“已完成公式”添加到日志
- sharpdevelop - 如何更改默认的 SharpDevelop 库?
- python - 将 postgres 转储文件导入 hdfs 或 hive 表?
- java - 英特尔 HD 3700 linux 的 Java 8 Swing 渲染问题