WITH usrs AS (SELECT * FROM (SELECT user_id FROM tools_shop.orders) AS o LEFT JOIN (SELECT user_id FROM tools_shop.users) AS u ON o.user_id = u.user_id LEFT JOIN tools_shop.events AS e ON e.user_id = o.user_id), ord AS (SELECT CAST(DATE_TRUNC('month', event_time) AS date) AS mnth, COUNT(event_name) AS cnt FROM usrs GROUP BY CAST(DATE_TRUNC('month', event_time) AS date)) SELECT *, sum(cnt) OVER ( ORDER BY mnth) FROM ord