¿Cómo añadir un parámetro contador a una consulta de insignia?

Hola a todos,

Tengo la siguiente consulta de insignias que otorga una insignia a las personas que crean un tema en una categoría específica que contiene palabras clave determinadas:

SELECT p.user_id, min(p.created_at) granted_at, MIN(p.id) post_id
FROM badge_posts p
JOIN topics t ON t.id = p.topic_id
WHERE category_id = (
  SELECT id FROM categories WHERE name ilike 'Where to fly your drone in the UK'
) AND p.post_number = 1 AND p.raw LIKE '%dronescene.co.uk%' 
GROUP BY p.user_id

Esto ha funcionado sin problemas durante mucho tiempo y me gustaría llevarlo al siguiente nivel.

¿Cómo puedo agregar un contador a esta consulta para que pueda otorgar una insignia de bronce a las personas que creen un tema de este tipo, una insignia de plata a quienes creen 5 temas coincidentes y una de oro a quienes creen 10 temas basados en estos parámetros?

Sé que, naturalmente, tendría que tener una consulta por cada insignia, pero no estoy seguro de cómo agregar un contador a esta consulta.

¿Alguien puede aconsejarme?

Gracias de antemano :+1:t2:

Creo que acabo de responder a mi propia pregunta al añadir esto al final de la consulta:

HAVING count(*) > 4

Solo necesito confirmar/comprobar los resultados propuestos.