Von regulären Benutzern gelöste Themen (Liste der Themen)

Von regulären Benutzern gelöste Themen (listet Themen auf)

Gibt die von regulären Benutzern in einem angegebenen Monatszeitraum gelösten Themen zurück, sortiert nach Lösungsdatum. Die Abfrage akzeptiert einen Parameter „months_ago" und hat standardmäßig den Wert 0, um die Ergebnisse für den aktuellen Monat zu liefern.

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