按日期分组的频率不同值

Frequency distinct values grouped by date

我正在尝试获取去年每个月的唯一 ID 值的频率。但是,我没有得到结果.. 包括错误消息“SELECT 列表表达式引用列 user_id 既未分组也未聚合”。

如何获取每个月的唯一 ID 数量并将它们按月分组?

我尝试了什么:

SELECT
  user_id,
  EXTRACT(MONTH FROM date) as month
FROM
  TABLE
WHERE
  date >= '2020-09-01'
GROUP BY
  month

我想要这样的东西:

独特的计数 user_id
1 300
2 200
... ...
12 250

您将使用 GROUP BYCOUNT(DISTINCT):

SELECT EXTRACT(MONTH FROM date) as month, COUNT(DISTINCT user_id)
FROM TABLE
WHERE date >= '2020-09-01'
GROUP BY 1;

我建议您在查询中包含年份。在 BigQuery 中,使用 DATE_TRUNC():

最简单
SELECT DATE_TRUNC(date, MONTH) as month, COUNT(DISTINCT user_id)
FROM TABLE
WHERE date >= '2020-09-01'
GROUP BY 1;