Como obter o número de soluções por usuário usando o Data Explorer?

Tendo em mente que temos o plugin Discourse Solved instalado, assim como o plugin Data Explorer, qual seria a consulta para obter o número de soluções por usuário?

Quando um usuário resolve um tópico, uma entrada é adicionada à tabela user_actions com seu action_type definido como 15.

A seguinte consulta deve fornecer o que você está procurando:

SELECT
user_id,
COUNT(1) AS solved_count
FROM user_actions
WHERE action_type = 15
GROUP BY user_id
ORDER BY solved_count DESC

Isso funciona! Muito obrigado!

Olá!

Tenho mais uma pergunta sobre isso. Ele conta todas as respostas de posts públicos, assim como aquelas que a pessoa marcou como solução ao trocar mensagens privadas com alguém? Obrigado pela ajuda!

Você não pode marcar PMs como resolvidas. É uma configuração por categoria.

Uma das respostas em uma thread de mensagens privadas foi marcada como solução. Isso também conta para a contagem de soluções da pessoa?

Se a configuração do site “permitir soluções em todos os tópicos” estiver ativada, as postagens de mensagens privadas podem ser marcadas como soluções. Se uma postagem de mensagem privada for marcada como solução, ela será incluída nas contagens de soluções retornadas pela consulta que publiquei.

Muito obrigado, Simon, por esse conhecimento!

Como complemento à consulta de Simon acima, usamos esta versão para visualizar o número de soluções por usuário em um intervalo de datas específico (usando o formato de data aaaa-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

É útil poder ver como isso muda de mês para mês.

Obrigado, Ben, por compartilhar isso!

Obrigado a todos por compartilharem essas consultas!

Estou configurando meu fórum Discourse e fiquei me perguntando como obter o tempo médio de resolução de todo o fórum, algo semelhante ao tempo médio para a primeira resposta.

Vocês acham que faz sentido, do ponto de vista da comunidade, ter essa informação? Se sim, não tenho certeza de como montar essa consulta. Alguma ideia?

Obrigado!