Requête pour le décompte actuel des votes

Salut, je suis complètement novice en SQL.

Je veux obtenir une liste de « combien d’utilisateurs » ont lancé « combien de votes ». Dans notre instance, nous avons une limite de 10 votes par personne. Le tableau résultant ressemblerait à ceci :

Nombre de votes Nombre d’utilisateurs
10 25
9 32
8 43
(etc)

Dans ce qui est mon premier SQL, voici jusqu’où je suis arrivé :

SELECT user_id, count(user_id)
FROM discourse_voting_votes
GROUP BY user_id
ORDER BY count DESC

Cela donne une liste d’utilisateurs triés par le nombre de votes émis. Au moins avec cela, je peux calculer manuellement le résultat souhaité, mais c’est fastidieux et sujet aux erreurs.

2 « J'aime »

Je crains que ce soit aussi ma première requête SQL, alors nous verrons bien… :slightly_smiling_face: mais est-ce que cela peut aider ?

WITH votes AS (
    SELECT user_id, count(user_id) as Number_of_Votes
    FROM discourse_voting_votes dvv
    WHERE dvv.archive = false
    GROUP BY user_id
    ORDER BY Number_of_Votes DESC
)
SELECT Number_of_Votes, count(*) AS Number_of_Users
FROM votes
GROUP BY Number_of_Votes
ORDER BY Number_of_Votes DESC
3 « J'aime »

PARFAIT ! Merci beaucoup ! Pour le script et la petite leçon de SQL. J’espère que cela vous a été utile aussi.

Je parie que cette requête sera utile à d’autres. Dans notre cas, nous voulons montrer cette distribution des votes afin que nos bénévoles puissent être plus conscients de l’utilisation qu’ils font de leurs votes par rapport à leurs pairs. L’objectif final étant d’augmenter le nombre de votes utilisés.

3 « J'aime »

Je suis vraiment ravi que cela ait fonctionné. :+1: J’avais envie de m’entraîner avec l’explorateur de données depuis un moment et cela semblait être une occasion parfaite, donc en réalité, c’est à moi de vous remercier. :slightly_smiling_face:

J’ai ajouté la ligne ‘archive = false’ pour limiter les résultats au total actuel des votes d’un utilisateur, et non inclure les historiques. Je pense que c’est correct pour votre cas d’utilisation, mais supprimez-la si vous voulez un ‘total général’.

Merci encore. :+1::slightly_smiling_face:

2 « J'aime »

Ah, je n’avais aucune idée de ce que c’était. Oui, cela correspond à la requête que je cherchais. Merci encore, nous utilisons déjà ces données.

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.