أعتقد أنني كنت قريبًا.
أحسنت. ![]()
3 إعجابات
أحاول معرفة ما إذا كانت CTE أكثر كفاءة، لكنها تذيب عقلي ![]()
WITH staff_liked AS (
SELECT COUNT(*), pa.post_id
FROM post_actions pa
JOIN group_users gu ON gu.user_id = pa.user_id
WHERE post_action_type_id = 2
AND gu.group_id = 3
AND deleted_at IS NULL
GROUP BY pa.post_id
HAVING COUNT(*) >= 5
)
SELECT p.user_id, MAX(p.created_at) granted_at
FROM badge_posts p
WHERE p.id IN (SELECT post_id FROM staff_liked)
AND p.user_id >= 0
GROUP BY p.user_id
HAVING COUNT(*) >= 10
إعجابَين (2)
تم تقسيم 3 مشاركات إلى موضوع جديد: ما هو ‘backfill’؟
همم. هذا يعني أنه لن يتم احتساب، على سبيل المثال، فئة TL0 المقفلة لدينا؟
إعجاب واحد (1)
نعم، يعرض العرض badge_post بعض الأشياء مسبقًا لتبسيط الاستعلامات. يمكنك تعديله لاستخدام جدول posts بدلاً من ذلك والذي سيشمل جميع الفئات، ولكنه قد يحتاج إلى سطر أو سطرين إضافيين لاستبعاد المشاركات المحذوفة، أو المواضيع المحذوفة، وما إلى ذلك (على الرغم من أن هذا قد لا يكون ضروريًا إذا كنت ترغب في الحفاظ على بساطته والسماح للأشخاص بالاحتفاظ بالشارة بمجرد حصولهم عليها، حتى لو تم حذف مشاركاتهم).
إعجاب واحد (1)