Welcome PM を開くメンバーは何人ですか?

Welcome PM を開いたメンバー数を示すクエリについて、どなたかお手伝いいただけませんか?

ありがとうございます!

歓迎メッセージを開いたメンバー数

discobot ユーザーから送信された歓迎メッセージを読み込んだ非管理者ユーザーの数を取得するには、以下を試してみてください。

SELECT
COUNT(1) AS number_of_opens
FROM topics t
JOIN topic_users tu
ON tu.topic_id = t.id
JOIN users u
ON u.id = tu.user_id
WHERE t.user_id = -2
AND u.admin = false
AND tu.last_read_post_number IS NOT NULL

やってみます。ありがとうございます!

素晴らしい!これで動作しました。ありがとうございます。

次に、もう少し詳細なデータを取得したいのですが、過去 X ヶ月のデータに限定したこの数値を取得する方法はありますか?プラグイン内で作成された別のクエリからクエリの一部をコピーしてみましたが、うまくいきませんでした。

ご意見をお聞かせください。

過去 N ヶ月間に歓迎の PM を開いた非管理者ユーザー数

以下をお試しください:

-- [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
COUNT(1) AS number_of_opens
FROM topics t
JOIN topic_users tu
ON tu.topic_id = t.id
RIGHT JOIN query_period qp
    ON t.created_at >= qp.period_start
JOIN users u
ON u.id = tu.user_id
WHERE t.user_id = -2
AND u.admin = false
AND tu.last_read_post_number IS NOT NULL
AND t.created_at <= qp.period_end