Badge for posts with Likes from a specific group

Je pense que j’étais sur le point d’y arriver. :upside_down_face: bien joué. :clap:

3 « J'aime »

J’essaie de déterminer si une CTE est plus efficace, mais ça me rend fou :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 « J'aime »

3 messages ont été divisées dans un nouveau sujet : Qu’est-ce que le ‘backfill’ ?

Hm. Cela signifie qu’il ne comptera pas, par exemple, notre catégorie TL0 verrouillée ?

1 « J'aime »

Oui, la vue badge_post pré-filtre certaines choses pour simplifier les requêtes. Vous pouvez l’ajuster pour utiliser la table posts à la place, ce qui inclurait toutes les catégories, mais cela pourrait nécessiter une ligne ou deux supplémentaires pour exclure les publications supprimées, ou les sujets supprimés, etc. (bien que cela puisse ne pas être nécessaire si vous voulez rester simple et laisser les gens conserver le badge une fois qu’ils l’ont gagné, même si leurs publications sont supprimées).

1 « J'aime »