Кто-нибудь знает, как SQL этот запрос в Google Big Query? - PullRequest
0 голосов
/ 20 февраля 2019

У меня есть первая база данных в следующем формате:

transaction_time  id
2009-12-12 12:12  12345
2009-12-12 12:13  12346
...               ...

Вторая база данных имеет следующий формат:

id                name
12345             abc
12346             bcd
...               ...

Я хотел бы написать запрос в стандартном SQLдля Google Big Query подсчитать все вхождения одного и того же идентификатора в одну и ту же дату, а затем вернуть имя вхождения (как в Excel VLOOKUP).

Я думаю, что это будет что-то вроде:

SELECT
  DATETIME "2008-12-25 15:30:00" as original,
  DATETIME_TRUNC(DATETIME "2008-12-25 15:30:00", DAY) as truncated

select t2.name, t1.id
from table1 t1 join
     table2 t2
     on t2.id = t1.request_time

Кто-нибудь может подтвердить?Или в стандартном SQL есть функция GROUP BY для большого запроса?Кажется, я не смог его найти!

Большое спасибо!

1 Ответ

0 голосов
/ 20 февраля 2019

Это то, что вы хотите?

select date(t1.request_time) as dte, count(*)
from table1 t1 join
     table2 t2
     on t2.id = t1.request_time
group by dte
order by dte;

Конечно, стандартный SQL поддерживает GROUP BY - это очень функциональная база данных с точки зрения запросов.

Или это?

select t2.name, count(*)
from table1 t1 join
     table2 t2
     on t2.id = t1.request_time
where date(t1.request_date) = date('2008-12-25')
group by t2.name;
...