id_event,
count()
FROM orders
GROUP BY t, id_event
ORDER BY t
Подскажите как сделать, чтоб когда нету ивента, то была строка с 0 в поле count?
что значит "нету ивента"
его нету в записях на 10.09.2021 00:00
ну а как вы выберете тогда это значение для определенного промежутка времени если его там не было?
его не было в 00:00, но оно есть в 01:00. И когда t = 00:00 в колонку count надо писать 0. Сейчас время 00:00 дропается
ну не знаю, можно тогда скрестить все часы и все ивенты, ну и считать тогда, если значения пустые, то 0 считайте. мб есть способы лаконичнее
ищу лаконичнее
https://clickhouse.tech/docs/ru/sql-reference/statements/select/order-by/#orderby-with-fill
with fill разве может заполнить конкретными значениями event_id которых не хватает?
Не работает с GROUP BY и toStartOfInterval
работает: with data as ( SELECT toFloat32(number % 10) AS n, now() + interval n day as source FROM numbers(10) WHERE number % 3 = 1 ) select n, toStartOfDay(source) as t, count() c from data group by n,t ORDER BY n WITH FILL;
так работает, спасибо
Обсуждают сегодня