Estou querendo construir uma consulta no explorador de dados - e, sendo completamente novo nisso, não sei por onde começar!
Gostaria de executar a seguinte consulta:
Retorne o número de tópicos com uma postagem marcada como solução por pessoas que não pertencem a um determinado grupo, para uma data de início e fim.
Não vi nenhuma consulta semelhante que faça isso, então peço desculpas se perdi. Todas as dicas e sugestões são bem-vindas!
Acho que você conseguiria fazer com duas se usasse group_users. Talvez algo como:
-- [params]
-- string :group_name = staff
-- date :date_from = 01/04/2022
-- date :date_to = 01/05/2022
SELECT
gu.group_id,
ua.user_id,
COUNT(1) AS solved_count
FROM user_actions ua
JOIN group_users gu on ua.user_id = gu.user_id
WHERE ua.action_type = 15
AND gu.group_id = (SELECT id FROM groups WHERE name = :group_name)
AND ua.created_at::date BETWEEN :date_from::date AND :date_to::date
GROUP BY gu.group_id, ua.user_id
ORDER BY solved_count DESC
(Para sua informação, group_name diferencia maiúsculas de minúsculas)
Atualização: Tardei a perceber que adicionei uma terceira ao tornar a pesquisa de grupo um pouco mais amigável do que usar um group_id direto. Mas poderia ser feito com duas.