Как фильтровать темы по группе пользователей

Если на вашем форуме установлен плагин Data Explorer, вы можете написать SQL-запросы для получения этой информации из базы данных Discourse. Этот запрос пытается извлечь ID и заголовок тем, а также ID пользователя, сделавшего последний пост в теме. Он выбирает только те темы, где последний пост был сделан пользователем из группы «clients».

Это лишь пример.

SELECT 
    t.id AS topic_id, 
    t.title AS topic_title, 
    (SELECT user_id FROM posts WHERE topic_id = t.id ORDER BY created_at DESC LIMIT 1) AS last_post_user_id
FROM 
    topics t
JOIN
    posts p ON p.topic_id = t.id
JOIN 
    group_users gu ON gu.user_id = p.user_id
JOIN 
    groups g ON g.id = gu.group_id
WHERE 
    g.name = 'clients'
GROUP BY 
    t.id
HAVING 
    MAX(p.user_id) = last_post_user_id
ORDER BY 
    MAX(p.created_at) DESC