Recreate the Discourse user’s directory

Recreate the Discourse user’s directory

OK, here is the query to recreate the user’s directory.

-- [params]
-- null int :period

SELECT users.username AS "Username",
directory_items.likes_received AS "Likes Received",
directory_items.likes_given AS "Likes Given",
directory_items.topic_count AS "Topics Created",
directory_items.post_count AS "Replied",
directory_items.days_visited AS "Vists",
directory_items.topics_entered AS "Viewed",
directory_items.posts_read AS "Read"
FROM users
JOIN  directory_items ON users.id =  directory_items.user_id
WHERE directory_items.period_type = :period
ORDER BY directory_items.likes_received DESC

Once the query is saved you can enter the period into the field below the query to determine what data you get. The periods are as follows:

1: all
2: yearly
3: monthly
4: weekly
5: daily
6: quarterly

You can also change the sort by adjusting directory_items.likes_received on the last line.

10 إعجابات

@riking أو @jomaxro - هل هناك طريقة لإضافة “الاسم” إلى هذا الاستعلام بدلاً من مجرد “اسم المستخدم”؟

هذا للاستعلام الخاص بـ دليل المستخدمين:

-- https://meta.discourse.org/t/43516/48?u=sidv

-- [المعلمات]
-- null int :الفترة

SELECT users.username AS "اسم المستخدم",
directory_items.likes_received AS "الإعجابات المستلمة",
directory_items.likes_given AS "الإعجابات الممنوحة",
directory_items.topic_count AS "المواضيع المنشورة",
directory_items.post_count AS "الردود",
directory_items.days_visited AS "الزيارات",
directory_items.topics_entered AS "المواضيع المعروضة",
directory_items.posts_read AS "المقروءة"
FROM users
JOIN  directory_items ON users.id =  directory_items.user_id
WHERE directory_items.period_type = :الفترة
ORDER BY directory_items.likes_received DESC
3 إعجابات

أضف:
users.name AS "الاسم"، بعد SELECT users.username AS "اسم المستخدم"،

3 إعجابات

شكرًا جزيلاً @SidV!

أردت أيضًا إضافة معرف المستخدم (لتمكين الفرز حسب تاريخ انضمام المستخدم إلى المجتمع ツ

إليك كيف يبدو استعلامي الآن، وهو بالضبط ما أردته! (ملاحظة: أضفت معاملات “الفترة” المختلفة لتذكيري بما هي دون الحاجة للعودة إلى منشور @jomaxro.

-- https://meta.discourse.org/t/43516/48?u=sidv

-- [params]
-- null int :period

-- 1: الكل
-- 2: سنوي
-- 3: شهري
-- 4: أسبوعي
-- 5: يومي
-- 6: ربع سنوي

SELECT users.id AS "معرف المستخدم",
users.username AS "اسم المستخدم",
users.name AS "الاسم",
directory_items.likes_received AS "الإعجابات المستلمة",
directory_items.likes_given AS "الإعجابات الممنوحة",
directory_items.topic_count AS "المواضيع المنشأة",
directory_items.post_count AS "الردود",
directory_items.days_visited AS "الزيارات",
directory_items.topics_entered AS "المواضيع المشاهدة",
directory_items.posts_read AS "المنشورات المقروءة"
FROM users
JOIN  directory_items ON users.id =  directory_items.user_id
WHERE directory_items.period_type = :period
ORDER BY directory_items.likes_received DESC

شكرًا مرة أخرى يا أصدقاء!!!

3 إعجابات