In uno script posso far votare da 1 a 5 (stelle) 4 caratteristiche.
Mi piacerebbe, con una sola SQL, tirar fuori da MySQL questo:
1a - # di voti lasciati con 1 stella
1b - # di voti lasciati con 2 stelle
1c - # di volti lasciati con 3 stelle
etc etc fino a 5
ma questa cosa va fatta per oguna delle 4 caratteristiche
2 - inoltre mi serve il conteggio totale di tutti i voti (quindi raggruppo in un valore QUANTI hanno votato, senza interesse per cosa)
3 - infine la media dei voti per 1 stella, per 2 stelle e cosi via
AL momento sono arrivato qui:
codice:
SELECT AVG( caratteristica01 ) AS mediaCaratteristica01, AVG( caratteristica02 ) AS mediaCaratteristica02, AVG( caratteristica03 ) AS mediaCaratteristica03, AVG( caratteristica04 ) AS mediaCaratteristica04, COUNT( caratteristica01 ) AS conteggioCaratteristica01, COUNT( caratteristica02 ) AS conteggioCaratteristica02, COUNT( caratteristica03 ) AS conteggioCaratteristica03, COUNT( caratteristica04 ) AS conteggioCaratteristica04
FROM commenti
WHERE id_user = 3
In effetti cosi ottengo la media (punto 3 risolto) e quanti voti ho in totale (punto 2 risolto) ma mi manca ancora sapere "quanti voti ho per 1 stella"? "quanti ne ho per 2 stelle?"
Spero di essere stato chiaro... grazie a tutti!