Я пытаюсь разобраться в возможном расхождении данных, которое я наблюдаю. Я выполнял несколько запросов с помощью плагина 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 сообщений. И это, кажется, правильное число, так как он фактически считает каждое отдельное сообщение из таблицы posts, а не полагается на поле post_count из user_stats.
Поэтому я пытаюсь понять, почему возникает такое расхождение. Это касается обычного пользователя (не администратора и не модератора), поэтому у него нет множества действий администратора, которые могли бы отображаться как сообщения. Есть ли у кого-нибудь идеи, почему это может происходить?