شارات لـ 10 و 100 تعديل ويكي عبر المواضيع

متابعة للنقاش من استعلامات الشارات الافتراضية:

أحاول إنشاء شارة فضية لـ 10 تعديلات ويكي (عبر جميع المشاركات) وشارة ذهبية لـ 100 تعديل ويكي - ومع ذلك، لم أحصل أنا ولا مساعد المنتدى على أي نتيجة.

هل لديك أي اقتراحات؟

لقد كنت ألعب بهذا النوع من التنسيق لتجنب مشكلة MIN/MAX في تخصيص تاريخ granted_at خاطئ عند إدخال شارة في “منتصف التدفق” (تميل إلى العمل بشكل أفضل عندما لا يكون الأشخاص قد حققوا المعايير بالفعل قبل تقديم الشارة).

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

SELECT
    user_id,
    created_at granted_at
FROM (
    SELECT
        pr.user_id,
        pr.created_at,
        ROW_NUMBER() OVER (PARTITION BY pr.user_id ORDER BY pr.created_at) as row_number
    FROM post_revisions pr
    INNER JOIN badge_posts p ON p.id = pr.post_id
    WHERE p.wiki = TRUE
      AND pr.hidden = FALSE
      AND pr.user_id > 0
) AS revisions
WHERE row_number = 100

(لم أقم بتضمين “لا تشمل المواضيع أو المشاركات المحذوفة” المعتادة لأن التعديلات على المقالات القديمة يجب أن تُحتسب. لم أضف الملء الخلفي أيضًا، ولكن أعتقد أن هذا سيكون “تحديث يومي” كمنشط؟)

إعجابَين (2)

جميل! هل هو لعمل 100 تعديل عبر منشورات الويكي، أم تعديل 100 منشور ويكي؟

هذا يعني 100 مراجعة لمنشورات الويكي، لذا فإن تعديل منشور واحد مائة مرة (أو مائة ومرة واحدة) سيؤدي إلى الحصول على الشارة.

إعجابَين (2)

بعد القليل من التفكير الإضافي (واجتماع صغير مع بيرت :slight_smile:) أعتقد أن ROW_NUMBER سيكون الخيار الأفضل لهذا. سأقوم بتحرير الاستعلام أعلاه. :+1:

إعجابَين (2)

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