Merci, cela a aidé ! Il faudrait probablement déplacer cela dans un nouveau sujet puisque nous déraillons. Mais voici la requête que j’ai élaborée (avec l’aide de ChatGPT) qui renvoie simplement les utilisateurs qui ont donné/reçu la réaction, le nombre de réactions, la date de la réaction et l’URL du message spécifique. La seule chose que je n’ai pas pu faire, c’est rendre l’URL du message cliquable, il semble que ce soit limité aux URL de sujets.
WITH reaction_pairs AS (
SELECT
p.user_id AS received_reaction_user_id,
dru.user_id AS gave_reaction_user_id,
dr.post_id,
t.id AS topic_id,
t.slug AS topic_slug,
p.post_number,
dru.created_at AS reaction_date
FROM
discourse_reactions_reactions dr
JOIN discourse_reactions_reaction_users dru ON dr.id = dru.reaction_id
JOIN posts p ON dr.post_id = p.id
JOIN topics t ON p.topic_id = t.id
WHERE
dr.reaction_value = 'Your_Specific_Reaction_Here'
)
SELECT
ur1.id AS user_id,
ur2.username AS "Utilisateur ayant donné la réaction",
'Your_Community_URL' || 't/' || rp.topic_slug || '/' || rp.topic_id || '/' || rp.post_number AS "URL du message",
rp.reaction_date AS "Date de la réaction",
COUNT(*) AS "Nombre de réactions"
FROM
reaction_pairs rp
JOIN users ur1 ON rp.received_reaction_user_id = ur1.id
JOIN users ur2 ON rp.gave_reaction_user_id = ur2.id
GROUP BY
ur1.id,
ur2.username,
rp.topic_slug,
rp.topic_id,
rp.post_number,
rp.reaction_date
ORDER BY
"Nombre de réactions" DESC, "Date de la réaction" DESC