Aquí hay una consulta de insignia para alguien que responde a una publicación en una categoría (id=19). El post_number > 1 asegura que sea una respuesta y no la primera publicación.
SELECT DISTINCT ON (p.user_id)
p.user_id, p.id post_id, p.created_at granted_at
FROM badge_posts p
JOIN topics t ON t.id = p.topic_id
WHERE category_id = 19 AND p.post_number > 1
AND (:backfill OR p.id IN (:post_ids) )