Tópicos resueltos por usuarios regulares (listas de tópicos)

Temas resueltos por usuarios regulares (listas de temas)

Devuelve los temas resueltos por usuarios regulares durante un período mensual determinado, ordenados por solution_date. La consulta acepta un parámetro ‘months_ago’ y, por defecto, utiliza 0 para devolver los resultados del mes actual.

-- [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
ua.target_topic_id,
ua.target_post_id
FROM user_actions ua
INNER JOIN query_period qp
ON ua.created_at >= qp.period_start
AND ua.created_at <= qp.period_end
INNER JOIN users u
ON u.id = ua.user_id
WHERE ua.action_type = 15
AND (u.admin = 'f' AND u.moderator = 'f')
ORDER BY ua.created_at DESC