أحاول فهم تناقض محتمل في البيانات ألاحظه. لقد قمت ببعض الاستعلامات باستخدام مكون 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.
لذا، أحاول فهم سبب وجود هذا التناقض. هذا المستخدم ليس مسؤولًا ولا مشرفًا، لذا لا توجد لديه مجموعة من إجراءات المسؤول التي تظهر كمنشورات. هل لديكم أي أفكار حول سبب حدوث ذلك؟