Teniendo en cuenta que también tenemos instalado el plugin Discourse Solved y el plugin Data Explorer, ¿cuál sería la consulta para obtener el número de soluciones por usuario?
Cuando un usuario resuelve un tema, se agrega una entrada a la tabla user_actions con su action_type establecido en 15.
La siguiente consulta debería darte lo que buscas:
SELECT
user_id,
COUNT(1) AS solved_count
FROM user_actions
WHERE action_type = 15
GROUP BY user_id
ORDER BY solved_count DESC
¡Eso funciona! ¡Muchas gracias!
¡Hola!
Tengo una pregunta más al respecto. ¿Se cuentan todas las respuestas de publicaciones públicas, así como las que la persona marcó como solución al intercambiar mensajes privados con alguien? ¡Gracias por la ayuda!
No se pueden marcar los MP como resueltos. Es una configuración por categoría.
Una de las respuestas en un hilo de mensajería privada se marcó como solución. ¿Eso también se cuenta en el número de soluciones de la persona?
Si la configuración del sitio «permitir soluciones en todos los temas» está habilitada, las publicaciones de mensajes privados pueden marcarse como soluciones. Si una publicación de mensaje privado se marca como solución, se incluirá en los recuentos de soluciones que devuelve la consulta que publiqué.
¡Muchas gracias, Simon, por ese conocimiento!
Como complemento a la consulta de Simon anterior, utilizamos esta versión para ver la cantidad de soluciones por usuario en un rango de fechas específico (usando el formato de fecha yyyy-mm-dd):
--[params]
-- date :start_date
-- date :end_date
SELECT
user_id,
COUNT(1) AS solved_count
FROM user_actions
WHERE created_at::date BETWEEN :start_date AND :end_date
AND action_type = 15
GROUP BY user_id
ORDER BY solved_count DESC
Es muy útil poder ver cómo esto cambia de mes a mes.
¡Gracias, Ben, por compartir eso!
¡Gracias a todos por compartir esas consultas!
Estoy configurando mi foro en Discourse y me preguntaba cómo obtener el tiempo promedio de resolución de todo el foro, similar a average_time_for_first_response.
¿Creen que tiene sentido, desde la perspectiva de la comunidad, tener esa información? Si es así, no estoy seguro de cómo formular esa consulta. ¿Alguna idea?
¡Gracias!
