Badge for posts with Likes from a specific group

일부 삭제된 좋아요(Likes)로 인해 테스트가 깨지는 혼란스러운 상황이 발생했는데, OP의 버전을 수정하여 여러분이 제시한 조건에 부합하도록 조정해 보았습니다. :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 뷰를 기반으로 작동하므로 공개된 카테고리의 게시글만 집계됩니다. 이는 포럼/카테고리 구성에 따라 고려해야 할 사항일 수 있습니다. 또한 granted_at 값으로 CURRENT_TIMESTAMP를 사용하는 것도 다른 방법이지만, 이는 아마도 취향의 문제일 것입니다.