المتطفلون الذين أصبحوا أعضاء
مرحبًا بالجميع،
أنا جديد نسبيًا في هذا المجال، ولكن يا له من أداة رائعة!
إليك استعلامًا (بسيطًا جدًا!) قمت بإنشائه يسمح لك بتحديد المتطفلين الذين أصبحوا أعضاء في الأشهر القليلة الماضية بسهولة.
-- [params]
-- int :last_months = 2
-- int :posts_read = 1000
-- int :posts_written = 0
SELECT users.id , users.username,
users.created_at, users.last_seen_at,
user_stats.posts_read_count, user_stats.post_count
from users inner join user_stats
on users.id = user_stats.user_id
where users.created_at < now() - interval ':last_months months'
and user_stats.posts_read_count > :posts_read
and user_stats.post_count <= : posts_written
ORDER BY user_stats.posts_read_count DESC
ثلاثة معاملات (واضحة إلى حد كبير):
-
last_months
إلى أي مدى نريد الرجوع بالزمن لتحديد ما إذا كانت الحسابات الجديدة هي بالفعل حسابات للمتطفلين (الافتراضي: حسابات جديدة من آخر شهرين) -
posts_read
كم عدد المنشورات التي يجب أن يقرأها المستخدم قبل اعتباره متطفلاً (الافتراضي: 1.000) -
posts_written
ما هو الحد الأقصى لعدد المنشورات التي يمكن أن ينشرها الشخص ليظل يُعتبر متطفلاً (الافتراضي: 0)
أضفت المعامل الأخير لأتمكن من استبعاد الأشخاص الذين ينشرون فقط “مرحبًا! مكان لطيف!” أو ما شابه ذلك، ثم لا ينشرون أي شيء آخر بعد ذلك.
يرجى ملاحظة قمت بتحديث السكربت قليلاً لإصلاح مشكلة لاحظها @jerdog (انظر المنشور أدناه) - شكرًا لـ J. على ملاحظته!