Condividi
Come si utilizza la clausola GROUP BY in una SELECT?
Continuo con le mie domande da neofita, e come si utilizza e cosa fà esattamente la clausola GROUP BY in una query SELECT?
In Corso
3
MySql
18-12-2018
1 Risposta
3427 Visite
0
Risposte ( 1 approvate )
La clausola GROUP BY è una funzione di aggregazione, ovvero in una query SELECT serve per raggruppare records aventi gli stessi valori per uno o più campi (colonne).
Viene usata ponendola alla fine di una SELECT e specificando il nome del campo per il quale si vogliono raggruppare i valori, rifacendoci all'esempio di una libreria della tua precedente domanda avremo:
in questo modo raccoglierai i records per autore, indicandone nel secondo campo della SELECT il numero di libri scritti, comodo NO?
Un risultato analogo potevi ottenerlo anche con la clausola DISCTINCT, ma ti consiglio di usare la GROUP BY, è più performante ed in più puoi sfruttarla in combinazione con HAVING, un altro comando che ti consente di specificare una condizione da applicare al raggruppamento.
Supponiamo che tu voglia ritornati i nomi degli autori che abbiano scritto più di 10 libri, allora la tua query diventerebbe:
Con GROUP BY ed HAVING hai un modo facile e veloce per raggruppare e filtrare il resultset delle tue SELECT.