Ich habe einen Bericht angepasst, um diese Abfrage zu erstellen und zu sehen, welche Benutzer vor X Monaten die meisten Beiträge verfasst haben und wie viele Benutzer insgesamt in diesem Zeitraum Beiträge verfasst haben.
-- [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.user_id,
count(1) AS post_count
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
AND u.admin = 'f'
AND u.moderator = 'f'
GROUP BY ua.user_id
ORDER BY post_count DESC
Aber ich habe Schwierigkeiten, den zweiten Teil zu erhalten – die Gesamtzahl der Benutzer, die im Zeitraum Beiträge verfasst haben. Ich denke, ich brauche einfach eine Zählung der Benutzer, die im Bericht enthalten sind. Ich wäre dankbar, wenn jemand einen Hinweis hätte.
Edit – Vergessen Sie das, ich sehe, dass ich dies einfach aus der Gesamtzahl der Ergebnisse erhalten kann –
