generate_series в where BETWEEN

Создаю график для статистики, для того чтоб получить статистику использую запрос:

WITH gen_dates AS (
    SELECT
        generate_series('2020-06-05'::timestamp , '2020-06-10'::timestamp , '1 hour'::INTERVAL) AS startDate,
        generate_series(
                    '2020-06-05'::timestamp  + ('1 hour'::INTERVAL),
                    '2020-06-10'::timestamp  + ('1 hour' :: INTERVAL),
                    '1 hour'::INTERVAL
            ) AS endDate
)
select sum(links), gen_dates.endDate
from parse_rss_statistic, gen_dates
where parse_rss_statistic.date BETWEEN gen_dates.startDate AND (gen_dates.endDate - '1 second'::INTERVAL)
GROUP BY gen_dates.endDate
ORDER BY gen_dates.endDate

И тут есть один недостаток - если в один из промежутков времени из gen_dates нет ни одной строки то и в выводе их нет, но мне нужно что бы пропусков не было а просто был ноль, как это можно сделать?


Ответы (0 шт):