Как я могу использовать группу по столбцу 1 и получить наиболее частое вхождение столбца 2 в один и тот же вывод в bigquery - PullRequest
1 голос
/ 12 марта 2020

У меня есть данные

enter image description here

Я хочу вывод, подобный этому

enter image description here

Я пытался

SELECT email, time_of_day,COUNT(time_day) AS numtrips FROM internal.data100k
GROUP   BY  email,  time_of_day  desc limit 26;

и многие вложенные, но получают ошибку и не знают, что такое логика c быть

1 Ответ

2 голосов
/ 12 марта 2020

Ниже для BigQuery Standard SQL

#standardSQL
SELECT email, action, 
  SUM(time_of_day_repetition) total_individual_action_count,
  ARRAY_AGG(
    STRUCT(time_of_day AS time_of_day_with_max_repetition, time_of_day_repetition AS max_repetition) 
    ORDER BY time_of_day_repetition DESC LIMIT 1
  )[OFFSET(0)].*
FROM (
  SELECT email, action, time_of_day, 
    COUNT(1) time_of_day_repetition  
  FROM `project.dataset.table`
  GROUP BY email, action, time_of_day
)
GROUP BY email, action
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...