Você tentou adicionar o ID do post à consulta?
Eu adicionei
count(r.post_id) as post_num
em seu select
declaração e deu os resultados esperados
. Para remover duplicatas, use
distinct
. Você quer a contagem em relação à tabela de tags? Experimentar COUNT(distinct pt.post_id) AS post_count
; ouCOUNT(distinct r.post_id) AS post_count