これは、過去 1 年間にログインして記事を読んだユーザー、または投稿したユーザーをすべて取得するクエリです。Data Explorer には、その数も表示されます。
SELECT p.user_id
FROM posts p
LEFT JOIN topics t ON t.id = p.topic_id
WHERE p.created_at::date > CURRENT_TIMESTAMP - INTERVAL '365 days'
AND t.deleted_at IS NULL
AND t.visible = TRUE
AND t.closed = FALSE
AND t.archived = FALSE
AND t.archetype = 'regular'
AND p.deleted_at IS NULL
UNION
SELECT u.user_id
FROM user_visits u
WHERE u.posts_read > 0
AND u.visited_at > CURRENT_TIMESTAMP - INTERVAL '365 days'
ORDER BY user_id
もっと効率的な方法もあるかもしれませんが、これで動作します
。特定の期間を指定したい場合は、> CURRENT_TIMESTAMP - INTERVAL '365 days'(両方とも)を以下のように変更してください:BETWEEN '20200101'::date AND '20210101'::date。
質問には素晴らしい情報と参考資料が盛り込まれていました!必要な部分を選んで組み合わせるだけで済みました。