Badge for posts with Likes from a specific group

Mi sembrava di esserci quasi. :upside_down_face: ben fatto. :clap:

3 Mi Piace

Sto cercando di capire se una CTE sia più efficiente, ma mi sta fondendo il cervello :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 Mi Piace

3 post sono stati divisi in un nuovo argomento: Cos’è il ‘backfill’?

Hm. Ciò significa che non conterà, ad esempio, la nostra categoria TL0 bloccata?

1 Mi Piace

Sì, la vista badge_post pre-filtra alcune cose per semplificare le query. Puoi modificarla per utilizzare invece la tabella posts che includerebbe tutte le categorie, ma potrebbe essere necessario aggiungere una o due righe per escludere i post eliminati, o gli argomenti eliminati, ecc. (anche se questo potrebbe non essere necessario se vuoi mantenere la semplicità e permettere alle persone di conservare il badge una volta guadagnato, anche se i loro post vengono eliminati).

1 Mi Piace