Получить DISTINCT ID для DISTINCT дат в BigQuery? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь получить DISTINCT ID для DISTINCT дат в BigQuery, чтобы построить отчет. Поле даты - это поле раздела kay. Я попытался начать с чего-то вроде

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

, но это дает мне только разные идентификаторы между этими двумя датами. Теперь, когда дело доходит до запроса и проверки DISTINCT (идентификаторов) для каждого месяца года, я понятия не имею, как это сделать. Я пробовал использовать DISTINCT и GROUP By для Date, но, похоже, это неправильный путь ... Есть идеи?

Ответы [ 2 ]

3 голосов
/ 19 июня 2020

Если вы ищете количество различных идентификаторов для каждого месяца, это может вам помочь.

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)
1 голос
/ 19 июня 2020
#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'
...