Badge for posts with Likes from a specific group

بعد وميض مربك مع بعض الإعجابات المحذوفة التي أربكت اختباراتي، أعتقد أن هذه نسخة منقحة من النسخة الموجودة في المنشور الأصلي والتي تناسب معاييرك: :slight_smile:

SELECT p.user_id, MAX(p.created_at) granted_at
FROM badge_posts p
WHERE (SELECT COUNT(*)
        FROM post_actions pa
        WHERE pa.post_id = p.id
         AND post_action_type_id = 2
         AND deleted_at IS NULL
         AND pa.user_id IN (SELECT gu.user_id FROM group_users gu WHERE gu.group_id = 3)
       ) >= 5
    AND p.user_id >= 0
GROUP BY p.user_id
HAVING COUNT(*) >= 10

يعمل هذا على عرض badge_posts لذا فهو يحسب فقط المشاركات من الفئات العامة، والتي قد ترغب في أخذها في الاعتبار اعتمادًا على إعدادات المنتدى/الفئة الخاصة بك. أيضًا، استخدام CURRENT_TIMESTAMP لـ granted_at هو خيار آخر، ولكنه ربما يعود إلى مسألة ذوق.