كيف يمكنني الحصول على أفضل 10 منشورات أعجبتني أو تم تصفحها بالأمس، يبدو أن قاعدة البيانات تخزن القيم التراكمية فقط، شكرًا لك
مرحباً ![]()
هل لديك المكون الإضافي Discourse Data Explorer ممكّنًا على موقعك؟
لم يتم تمكينه، هل يحتاج إلى تمكين لتسجيل بيانات أكثر تفصيلاً؟
يجب عليك تمكينه، وبعد ذلك ستتمكن من إجراء استعلامات محددة للنطاق الزمني لليوم الماضي (الأمس).
استعلام لأفضل 10 مشاركات حسب الإعجابات من الأمس
-- أفضل 10 مشاركات حسب الإعجابات من الأمس
WITH yesterday_actions AS (
SELECT
post_id,
COUNT(*) AS like_count
FROM post_actions
WHERE
created_at::date = CURRENT_DATE - 1
AND post_action_type_id = 2 -- نوع إجراء الإعجاب
GROUP BY post_id
)
SELECT
p.id AS post_id,
t.id AS topic_id,
t.title AS topic_title,
p.post_number,
u.username AS author,
ya.like_count AS likes_yesterday
FROM yesterday_actions ya
JOIN posts p ON p.id = ya.post_id
JOIN topics t ON t.id = p.topic_id
JOIN users u ON u.id = p.user_id
ORDER BY likes_yesterday DESC
LIMIT 10;
استعلام لأفضل 10 مشاركات حسب المشاهدات من الأمس
-- أفضل 10 مواضيع حسب المشاهدات من الأمس
WITH yesterday_topic_views AS (
SELECT
topic_id,
COUNT(*) AS view_count
FROM topic_views
WHERE viewed_at::date = CURRENT_DATE - 1
GROUP BY topic_id
)
SELECT
t.id AS topic_id,
t.title,
u.username AS creator,
ytv.view_count AS views_yesterday
FROM yesterday_topic_views ytv
JOIN topics t ON t.id = ytv.topic_id
JOIN users u ON u.id = t.user_id
ORDER BY views_yesterday DESC
LIMIT 10;
(تم إنشاؤه بواسطة روبوت الذكاء الاصطناعي!)
إعجاب واحد (1)