Richiesta per il conteggio attuale dei voti

Ciao, sono un principiante assoluto di SQL.

Voglio ottenere un elenco di “quanti utenti” hanno espresso “quanti voti”. Nella nostra istanza abbiamo un limite di 10 voti per persona. La tabella risultante sarebbe simile a questa:

Numero di voti Numero di utenti
10 25
9 32
8 43
(ecc.)

Nel mio primo SQL in assoluto, sono arrivato fin qui:

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

Questo produce un elenco di utenti ordinati per numero di voti espressi. Almeno con questo posso calcolare manualmente il risultato desiderato, ma è noioso e soggetto a errori.

2 Mi Piace

Temo che questa sia anche la mia prima query SQL, quindi vedremo come andrà… :slightly_smiling_face: ma questo è d’aiuto?

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 Mi Piace

PERFETTO! Grazie mille! Per lo script e la piccola lezione di SQL. Spero che sia stato utile anche per te.

Scommetto che questa query sarà utile ad altri. Nel nostro caso, vogliamo mostrare questa distribuzione dei voti in modo che i nostri volontari possano essere più consapevoli di quanto / quanto poco stiano utilizzando i loro voti rispetto ad altri colleghi. L’obiettivo finale è aumentare il numero di voti utilizzati.

3 Mi Piace

Sono davvero felice che abbia funzionato. :+1: Volevo fare pratica con il data explorer da un po’ e questa mi è sembrata un’opportunità perfetta, quindi in realtà dovrei ringraziare te. :slightly_smiling_face:

Ho aggiunto la riga ‘archive = false’ per limitare i risultati al totale dei voti correnti dell’utente, e non includere quelli storici. Penso che sia corretto per il tuo caso d’uso, ma rimuovila se desideri un ‘totale generale’.

Grazie ancora. :+1::slightly_smiling_face:

2 Mi Piace

Ah, non avevo idea di cosa fosse. Sì, questo si adatta alla query che stavo cercando. Grazie ancora, stiamo già utilizzando questi dati.

1 Mi Piace

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