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?
Registrandoti e creando un nuovo account potrai usufruire di tutti i servizi messi a disposizione, fare domande, rispondere agli utenti, accumulare punti e diventare un utente riconosciuto come esperto; ricevere la nostra newsletter e molto altro ancora. Il tutto in modo semplice, veloce e soprattutto gratuito. Una volta effettuata la registrazione veloce, potrai completare l'inserimento dei tuoi dati accedendo al tuo profilo.
Crea un AccountHai perso la tua Password? Inserisci l'e-mail (username) con la quale ti sei registrato, e ti invieremo una email con una nuova password che potrai poi cambiare una volta entrato nel tuo profilo.
Continuo con le mie domande da neofita, e come si utilizza e cosa fà esattamente la clausola GROUP BY in una query SELECT?
Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.
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.