هل هناك طريقة لمنح شارة لشخص أنشأ موضوعًا حصل على العديد من الردود؟ لنقل 100 رد؟
سأسميها “موضوع شائع” وسيشجع الناس على التفكير في أفكار مواضيع جديدة تولد الكثير من النقاش.
هل هناك طريقة لمنح شارة لشخص أنشأ موضوعًا حصل على العديد من الردود؟ لنقل 100 رد؟
سأسميها “موضوع شائع” وسيشجع الناس على التفكير في أفكار مواضيع جديدة تولد الكثير من النقاش.
أعتقد أن نسخة بسيطة ستكون شيئًا كهذا:
SELECT
t.user_id,
CURRENT_TIMESTAMP AS granted_at,
p.id AS post_id
FROM topics t
JOIN posts p ON p.topic_id = t.id AND p.post_number = 1
WHERE t.posts_count >= 100
AND t.archetype = 'regular'
AND t.deleted_at ISNULL
AND t.user_id > 0
استخدام t.post_counts سيشمل حاليًا أيضًا المنشورات الإجرائية الصغيرة (مغلقة، غير مدرجة، إلخ)، لذا يعتمد الأمر على مدى الدقة التي تريدها حقًا.
يمكنك جعله أكثر تحديدًا عن طريق حساب المنشورات “المؤهلة” داخل الاستعلام. شيء مثل:
SELECT
t.user_id,
CURRENT_TIMESTAMP AS granted_at,
p.id AS post_id
FROM topics t
JOIN posts p ON p.topic_id = t.id AND p.post_number = 1
WHERE t.id IN (
SELECT
p.topic_id
FROM posts p
JOIN topics t ON t.id = p.topic_id
WHERE t.archetype = 'regular'
AND t.deleted_at IS NULL
AND p.deleted_at IS NULL
AND p.post_number <> 1
AND p.post_type = 1
AND p.hidden IS FALSE
GROUP BY 1
HAVING COUNT(*) >= 100
)
هذا رائع يا جام!
يمكن للمنشئ أيضًا تغيير عدد المشاركات ليكون لها 3 مستويات: برونزي (50) فضي (100) ذهبي (200)
شكرًا على الشرح وشكرًا @Shauny على الفكرة.
شكراً، سأجربه وأعود إليك!
لقد قمت بإعداد هذا الآن، ولكن أعتقد أنه يجب تعيينه للتحديث يوميًا؟ سأرى ما إذا كان قد نجح غدًا. هل يحتاج “استهداف المنشورات” إلى تحديد؟
لقد نجح الأمر بشكل رائع، شكرًا لك!!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.