по дате получить 0 для пустых дней, вместо пропущенных строк в результате?
Немного наркомании :) select day, count() from test.huest group by day ┌────────day─┬─count()─┐ │ 2018-02-21 │ 1 │ │ 2018-03-03 │ 1 │ └────────────┴─────────┘ :) select day, sum(c) as count from (select day, count() as c from test.huest group by day) ALL RIGHT JOIN (select day, c from (select toDate('1970-01-01') + number as day, 0 as c from system.numbers limit 30000) where day between (select min(day) from test.huest) and (select max(day) from test.huest)) USING(day) group by day ┌────────day─┬─count─┐ │ 2018-02-21 │ 1 │ │ 2018-02-22 │ 0 │ │ 2018-02-23 │ 0 │ │ 2018-02-24 │ 0 │ │ 2018-02-25 │ 0 │ │ 2018-02-26 │ 0 │ │ 2018-02-27 │ 0 │ │ 2018-02-28 │ 0 │ │ 2018-03-01 │ 0 │ │ 2018-03-02 │ 0 │ │ 2018-03-03 │ 1 │ └────────────┴───────┘
Обсуждают сегодня