SELECT MONTH,
count(user_id) AS users,
avg(answers) AS answers_avg,
avg(sessions) AS sessions_avg,
avg(registered::int) AS registered
FROM
(SELECT date_trunc('month', TIME) AS MONTH,
a.user_id AS user_id,
count(1) AS answers,
count(distinct(session_id)) AS sessions,
COALESCE(l.user_id, -1) < 0 AS registered
FROM proso_models_answer AS a
LEFT JOIN lazysignup_lazyuser AS l ON l.user_id = a.user_id
GROUP BY 1,
2,
l.user_id) AS t
GROUP BY 1
ORDER BY 1 DESC;
From Practice Anatomy:
From Outline Maps (for comparison):