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 но тут тоже требуется явно перечислять имена событий
Обсуждают сегодня