هل تتعقب Discourse الأيام المتتالية النشطة؟

سأل أحد أعضاء منتدى Discourse لدينا عما إذا كان لدى Discourse طريقة لإظهار/التعرف على أيام الزيارة المتتالية أو النشر في منتدى Discourse. لا أرى تلك المعلومات في أي مكان في معلومات المستخدم الخاصة بالمسؤول، هل يتم الاحتفاظ بها في أي مكان؟
للعلم، لدى reddit هذه الميزة.

إعجاب واحد (1)

حسنًا، نعم، حيث توجد شارات مثل المتحمس (Enthusiast) والهاوي (Aficionado) والمخلص (Devotee) وهي للأيام المتتالية التي تمت زيارتها. زيارة = الإعجاب بمنشور/الرد مرة واحدة على ما أذكر.

3 إعجابات

ربما يمكنك إنشاء استعلام مستكشف بيانات. إليك مخطط جدول user_visits هنا:

ربما شيء مثل هذا؟ :thinking:

WITH consecutive_visits AS (
    SELECT
        user_id,
        visited_at,
        visited_at - INTERVAL '1 day' * ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY visited_at) AS grp
    FROM
        user_visits
),
visit_streaks AS (
    SELECT
        user_id,
        COUNT(*) AS streak_length
    FROM
        consecutive_visits
    GROUP BY
        user_id, grp
)
SELECT
    user_id,
    MAX(streak_length) AS longest_streak
FROM
    visit_streaks
GROUP BY
    user_id
ORDER BY
    longest_streak DESC
LIMIT 100

أو ربما يمكنك الدمج مع جدول user_actions بدلاً من ذلك (زيارات مع إعجابات ومنشورات؟)، وهو هنا:

3 إعجابات

شكرًا، سأضع ذلك في اعتباري.

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.