Hoe kan ik de top 10 van gisteren meest gelikete of bekeken berichten krijgen? Het lijkt erop dat de database alleen cumulatieve waarden opslaat. Dank u.
Hey ![]()
Do you have the Discourse Data Explorer plugin enabled on your site?
Het is niet ingeschakeld, moet het worden ingeschakeld om meer gedetailleerde gegevens vast te leggen?
Je zou het moeten inschakelen, dan kun je specifieke queries uitvoeren die gericht zijn op de afgelopen dag (gisteren).
Query voor Top 10 Berichten op Likes van Gisteren
-- Top 10 Berichten op Likes van Gisteren
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 -- Like actie type
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;
Query voor Top 10 Berichten op Views van Gisteren
-- Top 10 Topics op Views van Gisteren
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;
(gegenereerd met AI-bot!)
1 like