Tópicos resolvidos por usuários comuns (listas de tópicos)

Tópicos resolvidos por usuários comuns (lista de tópicos)

Retorna os tópicos resolvidos por usuários comuns em um período mensal específico, ordenados por data de solução. A consulta aceita um parâmetro months_ago e, por padrão, usa 0 para retornar os resultados do mês atual.

-- [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