Cómo encontrar los usuarios más activos del último mes

¿Hay alguna forma de saber quién ha publicado más en los últimos 30 días? Básicamente sería Administrador->Usuarios->lista de usuarios activos pero con un filtro de un mes.

Hola, bienvenido :wave:

Esta consulta debería ayudar:

--[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

Creo que los usuarios “activos” aquí se ordenan por la fecha de “última vez visto”, no por las publicaciones. :thinking:

1 me gusta

Así que, investigando cómo ejecutar una consulta SQL, necesito un complemento que esté en un plan más caro, ya que somos bastante pequeños, no creo que el acceso a las consultas SQL valga el triple del costo. Así que para nosotros, supongo que la respuesta es, no, no podemos hacerlo.

¿El directorio de usuarios ayudaría aquí? Por ejemplo:

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

No será tan preciso como una consulta de explorador de datos, pero ¿podría ser suficiente?

Puedes seleccionar el período, hacer clic en los encabezados de las columnas para agregar una ordenación, filtrar por grupo e incluso agregar columnas adicionales usando la llave inglesa.

1 me gusta

Vaya, ¿cómo me perdí esto? Gracias, Jammy. :smile:

1 me gusta

Gracias, no estoy seguro de cómo me perdí eso también.

2 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.