String,
event_name String,
date Date,
geo_country String,
domain String
)
Мне нужно вытащить данные с группировкой по событиям, какое количество событий произошло. Можно сделать вот такой вот запрос
select count(), event_name, geo_country, domain from events where date = today() group by event_name, geo_country, domain;
Но могу ли я как-то получить сразу в одном запросе количество событий не делая при этом джоины на каждое событие?
select event1_count, event2_count ...
Да, с помощью countIf, но придется перечислить все event_name
собственно говоря, есть более классический подход с использованием ANSI SQL: select count() as overall_count, sum(case when event_name = 'event1' then 1 else 0 end) as event1_count, sum(case when event_name = 'event2' then 1 else 0 end) as event2_count, event_name, geo_country, domain from events where date = today() group by event_name, geo_country, domain но тут тоже требуется явно перечислять имена событий
Обсуждают сегодня