Je cherche à construire une requête dans l’explorateur de données - et étant complètement novice, je ne sais pas par où commencer !
J’aimerais exécuter la requête suivante :
Retourner le nombre de sujets avec un message marqué comme solution par des personnes n’appartenant pas à un groupe donné, pour une date de début et une date de fin.
Je n’ai vu aucune requête similaire qui fasse cela, donc je m’excuse si je l’ai manquée. Tous les indices et astuces sont les bienvenus !
Je pense que vous devriez pouvoir le faire avec deux si vous utilisez group_users. Peut-être quelque chose comme :
-- [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
(Pour information, group_name est sensible à la casse)
Mise à jour : J’ai réalisé tardivement que j’en avais ajouté un troisième lorsque j’ai rendu la recherche de groupe un peu plus conviviale que l’utilisation d’un simple group_id. Mais cela pourrait être fait avec deux.