最も頻繁に投稿しているユーザーの統計情報を取得するために、Data Explorer プラグインを使用していくつかのクエリを実行しています。その際に、以下のクエリを使用しました。
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
このクエリでは、特定のユーザーについて 100 件の投稿が返ってきました。その後、クエリを少し変更して再実行することにしました。
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
このクエリでは、同じユーザーについて 135 件の投稿が返ってきました。user_stats テーブルの post_count フィールドに依存するのではなく、posts テーブルからすべての投稿を直接数えているため、こちらの方が正しい数値のようです。
ここで、なぜこのような不一致が生じるのかを理解しようとしています。これは管理者でもモデレーターでもない一般ユーザーを対象としたものであり、管理者アクションが投稿として現れているようなケースではありません。この現象の理由について、何かご存知でしょうか?