사용자 게시물 수 데이터 불일치

데이터 불일치 문제를 파악하려고 하고 있습니다. 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 테이블의 모든 게시물을 실제로 카운팅하기 때문에 정확한 수치로 보입니다.

따라서 여기서 불일치가 발생하는 이유를 이해하려고 합니다. 이 사용자는 관리자도 모더레이터도 아니므로, 게시물로 표시되는 관리자 작업이 많지 않습니다. 이런 일이 발생하는 이유에 대해 어떤 아이디어가 있을까요?

홀리, 테이블 게시물에는 개인 메시지와 삭제된 게시물도 포함됩니다. 아마도 user_stats.post_count에는 삭제되지 않은 게시물만 포함되고, 개인 메시지나 삭제된 게시물은 포함되지 않는 것일까요? 더 잘 아시는 분이 답해 주시기를 바랍니다.

네, 맞습니다 @JusticeUK

정보 주셔서 감사합니다. 다만, 해당 사용자는 삭제된 게시글이 없습니다(프로필을 다시 확인했고, 위의 쿼리에 p.deleted_at is null 조건을 추가했는데도 여전히 같은 숫자가 표시됩니다. 또한 저희 포럼은 개인 메시지(PM) 기능이 비활성화되어 있어, 이것이 숫자에 영향을 미쳤을 것이라고 생각하지 않습니다.

해당 사용자의 게시글을 살펴보면 모두 post_type = 1입니다. post_type이 1인 것이 정확히 무엇을 의미하는지는 아직 알지 못하지만, 그의 모든 게시글은 그저 일반 게시글로 보입니다.