Как найти самых активных пользователей за последний месяц

Есть ли способ узнать, кто опубликовал больше всего сообщений за последние 30 дней? По сути, это список активных пользователей в разделе Администратор → Пользователи, но с фильтром за месяц?

Здравствуйте, добро пожаловать :wave:

Этот запрос должен помочь:

--[params]
--date :start_date = 2024-01-01
--date :end_date = 2024-02-01
--int :top = 10

SELECT
   u.id AS user_id,
   COUNT(*) Count 
FROM posts AS p
INNER JOIN users AS u on p.user_id = u.id
INNER JOIN topics AS t ON t.id = p.topic_id AND t.deleted_at ISNULL
WHERE p.created_at::date BETWEEN :start_date AND :end_date
   AND p.deleted_at ISNULL
   AND t.archetype = 'regular'
   AND p.post_type = 1
GROUP BY u.id, u.username
ORDER BY Count DESC
LIMIT :top

Думаю, здесь «активные» пользователи сортируются по дате «последнего посещения», а не по количеству постов. :thinking:

Поэтому, изучая, как выполнить SQL-запрос, я понял, что для этого нужен плагин из более дорогого тарифного плана. Поскольку мы довольно небольшая компания, я не думаю, что доступ к SQL-запросам стоит тройной стоимости. Так что, по-моему, ответ для нас — нет, мы не можем этого сделать.

Поможет ли здесь каталог пользователей? Например:

https://meta.discourse.org/u?order=post_count&period=monthly

Это будет не так точно, как запрос в Data Explorer, но, возможно, этого будет достаточно?

Вы можете выбрать период, щёлкнуть по заголовкам столбцов, чтобы добавить сортировку, отфильтровать по группе и даже добавить дополнительные столбцы с помощью гаечного ключа.

Вау, как я мог это пропустить? Спасибо, Джимми. :smile:

Спасибо, не знаю, как я тоже это упустил.