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 нет ни одной строки то и в выводе их нет, но мне нужно что бы пропусков не было а просто был ноль, как это можно сделать?