Badge for posts with Likes from a specific group

Me siento como si estuviera cerca. :upside_down_face: bien hecho. :clap:

3 Me gusta

Estoy tratando de averiguar si una CTE es más eficiente, pero me está derritiendo el cerebro :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 Me gusta

3 publicaciones se dividieron en un nuevo tema: ¿Qué es el 'backfill`?

[quote=“JammyDodger, post:25, topic:276728”]
solo cuenta las publicaciones de categorías públicas
[/quote]Hm. Eso significa que no contará, por ejemplo, nuestra categoría bloqueada TL0?

1 me gusta

Sí, la vista badge_post prefiltra algunas cosas para simplificar las consultas. Puedes ajustarla para que use la tabla posts en su lugar, lo que incluiría todas las categorías, pero podría necesitar una línea o dos adicionales para excluir publicaciones eliminadas, o temas eliminados, etc. (aunque esto podría no ser necesario si quieres mantenerlo simple y simplemente permitir que las personas conserven la insignia una vez que la hayan ganado, incluso si sus publicaciones son eliminadas).

1 me gusta