Nuovi argomenti per categoria (per mese)
Restituisce il numero di nuovi argomenti creati in ciascuna categoria per un mese specifico, ordinati per topic_count. La query accetta un parametro “mesi fa”, con valore predefinito 0 per restituire i risultati del mese corrente.
-- [params]
-- int :months_ago = 1
WITH query_period as (
SELECT
date_trunc('month', CURRENT_DATE) - INTERVAL ':months_ago months' as period_start,
date_trunc('month', CURRENT_DATE) - INTERVAL ':months_ago months' + INTERVAL '1 month' - INTERVAL '1 second' as period_end
)
SELECT
t.category_id,
count(1) as topic_count
FROM topics t
RIGHT JOIN query_period qp
ON t.created_at >= qp.period_start
AND t.created_at <= qp.period_end
WHERE t.user_id > 0
AND t.category_id IS NOT NULL
GROUP BY t.category_id
ORDER BY topic_count DESC