Badge for posts with Likes from a specific group

我感觉我快成功了。 :upside_down_face: 干得好。 :clap:

3 个赞

我正在尝试弄清楚 CTE 是否更有效率,但这让我头昏脑胀 :melting_face:


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 个帖子已拆分为新主题:什么是“回填”?

[quote=“JammyDodger, post:25, topic:276728”]
仅计算来自公共类别的帖子
[/quote]嗯。这意味着它不会计算,例如,我们的 TL0 锁定类别?

1 个赞

是的,badge_post 视图会预先过滤掉一些内容,以简化查询。您可以将其调整为使用 posts 表,这将包含所有类别,但可能需要额外的一两行来排除已删除的帖子或已删除的主题等(不过,如果您想保持简单,只让用户在获得徽章后保留它,即使他们的帖子已被删除,这可能不是必需的)。

1 个赞