относительно вашего ответа. Большое спасибо.
Я выполнил боковое соединение.
select gs.dd,
sum(v.is_create) as create_on_date,
sum(v.is_update) as update_on_day,
sum(sum(v.is_create)) over (order by gs.dd) as running_creates,
sum(sum(v.is_update)) over (order by gs.dd) as running_updates
from generate_series('2015-01-01'::timestamp,'2019-11-01'::timestamp,'1 month'::interval
) gs(dd) left join
(tb cross join lateral
(values (tb.creation_date, 0, 1), (tb.modification_date, 1, 0)
) v(dte, is_update, is_create)
)
on v.dte::date = dd::date
where v.dte is not null
and tb.gather_stats is not false
group by gs.dd
order by gs.dd;
Теперь я получаю следующую таблицу
Снимок экрана с выводом данных
Дата модификации может быть на самом деле null
, но, к сожалению,также дата создания может быть null
.
Если посмотреть на необработанные данные, например, есть две записи с датой изменения в декабре 2017 года (где дата создания null
).
Исходные данные показывают, чтопо крайней мере одна учетная запись была создана в январе 2018 года, но она не показывается при выполнении этого бокового соединения.