هل يمكن لأحد المساعدة في استعلام يظهر عدد الأعضاء الذين فتحوا رسالة الترحيب الخاصة؟
شكرًا!
هل يمكن لأحد المساعدة في استعلام يظهر عدد الأعضاء الذين فتحوا رسالة الترحيب الخاصة؟
شكرًا!
لحساب عدد المستخدمين غير المسؤولين الذين قرأوا رسالة الترحيب المرسلة من مستخدم 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 أشهر؟ لقد حاولت نسخ جزء من استعلام من استعلام آخر تم إنشاؤه داخل البرنامج المساعد، لكن لم ينجح الأمر.
هل لديك أي أفكار؟
جرب هذا:
-- [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