Discrepância de dados nas contagens de postagens de usuários

Estou tentando entender uma possível discrepância de dados que estou observando. Tenho feito algumas consultas com o plugin Data Explorer para obter estatísticas sobre os usuários que mais postam. Uma das consultas que utilizei foi a seguinte:

select u.username, us.post_count
from users u
join user_stats us
on u.id = us.user_id
order by us.post_count desc

Isso retornava, digamos, 100 posts para um usuário específico. Então, decidi refazer a consulta de forma um pouco diferente:

select u.username, count(distinct p.id)
from users u
join posts p
on u.id = p.user_id
group by u.username
order by count(distinct p.id) desc

Essa consulta retornou 135 posts para aquele usuário específico. E esse parece ser o número correto, já que está contando realmente cada post da tabela posts, em vez de confiar no campo post_count de user_stats.

Portanto, estou tentando entender por que haveria essa discrepância. Isso é para um usuário não administrador e não moderador, então não há uma série de ações administrativas aparecendo como posts. Alguma ideia do que possa estar acontecendo?

Olá Holly, as postagens da tabela também incluirão mensagens privadas e postagens excluídas. Talvez o user_stats.post_count inclua apenas postagens não excluídas, e não mensagens privadas e postagens excluídas? Alguém com mais conhecimento poderá responder.

Isso mesmo, @JusticeUK

Obrigado pela informação. No entanto, este usuário não tem posts excluídos (verifiquei duas vezes o perfil dele e adicionei p.deleted_at is null à minha consulta acima, e ainda estou vendo os mesmos números. Nosso fórum também tem mensagens privadas desativadas, então não acho que elas estejam afetando os números.

Ao examinar os posts deste usuário, todos são do tipo post_type = 1. Ainda não sei exatamente o que significa post_type igual a 1, mas todos os dele parecem ser apenas posts normais.