Clausola Group By
Benvenuto al corso di SQL Intermedio!
Nella prima sezione, approfondiremo come raggruppare e aggregare i dati all'interno delle nostre tabelle.
Vediamo cosa significa "raggruppare i dati" utilizzando un semplice esempio di una tabella employees:
Raggruppamento dei dati
Abbiamo il compito di scoprire il numero di dipendenti in ciascun reparto. Per farlo, raggrupperemo i dati per la colonna department
e utilizzeremo l'aggregazione con la funzione COUNT(*)
.
Ecco come sarà l'implementazione:
123SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
Come puoi vedere, la sintassi per raggruppare i dati è la seguente:
SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
Nota
AGG_FUNC
indica funzioni di aggregazione comeMAX
,MIN
,COUNT
, ecc.
Questa sintassi serve per trovare determinati valori utilizzando funzioni di aggregazione su colonne specifiche.
Consideriamo un altro esempio: ci è stato chiesto di trovare il dipartimento con lo stipendio medio più alto.
Per recuperare tali dati, è necessario raggruppare i dati per la colonna department
e poi utilizzare la funzione AVG()
per calcolare lo stipendio medio:
123SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
In questa parte della sezione, lavoreremo con il database del sistema Metro di Montreal, che contiene la tabella metro_travel_time
.
Questa tabella conterrà informazioni sulla linea della stazione (line_name
), sul suo nome (station_name
) e sul tempo necessario affinché un treno viaggi da una stazione alla successiva (time_to_next_station
).
Ecco come appare questa tabella e un'anteprima dei dati in essa contenuti:
Come puoi vedere, questa non è una tabella complessa. Riflettiamo su dove possiamo utilizzare il raggruppamento in questo caso.
L'opzione più ovvia è raggruppare per i colori delle linee della metropolitana. Ciò significa che possiamo aggregare i dati, raggruppandoli per il colore della linea della metropolitana.
Alias
Negli esercizi, utilizzerai spesso un concetto chiamato alias. Un alias è essenzialmente un "soprannome" per una colonna che recuperi con un'istruzione SELECT
. Si specifica utilizzando la seguente sintassi:
SELECT column AS alias
Un alias influisce solo su come la colonna appare nella risposta.
Ad esempio, invece di MAX(time)
, la colonna potrebbe essere chiamata max_time
se assegni quell'alias. Questo rende l'output più leggibile e chiaro.
Swipe to start coding
Il tuo compito è trovare il tempo più lungo fino alla stazione successiva su ciascuna linea. Questo ci permetterà di determinare il tempo di percorrenza più lungo tra le stazioni per ogni linea della metropolitana. Per farlo, utilizza la funzione MAX()
e assegna l'alias max_time
, raggruppando i dati per la colonna line_name
.
Istruzioni sintetiche
- Recupera la colonna
line_name
e il valore massimo della colonnatime_to_next_station
. - Aggiungi l'alias
max_time
per il valore massimo. - Raggruppa i dati per la colonna
line_name
.
Una volta completato il compito, fai clic sul pulsante sotto il codice per verificare la tua soluzione.
Soluzione
Grazie per i tuoi commenti!
single
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 4
Clausola Group By
Scorri per mostrare il menu
Benvenuto al corso di SQL Intermedio!
Nella prima sezione, approfondiremo come raggruppare e aggregare i dati all'interno delle nostre tabelle.
Vediamo cosa significa "raggruppare i dati" utilizzando un semplice esempio di una tabella employees:
Raggruppamento dei dati
Abbiamo il compito di scoprire il numero di dipendenti in ciascun reparto. Per farlo, raggrupperemo i dati per la colonna department
e utilizzeremo l'aggregazione con la funzione COUNT(*)
.
Ecco come sarà l'implementazione:
123SELECT department, COUNT(*) AS number_of_employees FROM employees GROUP BY department
Come puoi vedere, la sintassi per raggruppare i dati è la seguente:
SELECT column1, AGG_FUNC(column2)
FROM table
GROUP BY column1
Nota
AGG_FUNC
indica funzioni di aggregazione comeMAX
,MIN
,COUNT
, ecc.
Questa sintassi serve per trovare determinati valori utilizzando funzioni di aggregazione su colonne specifiche.
Consideriamo un altro esempio: ci è stato chiesto di trovare il dipartimento con lo stipendio medio più alto.
Per recuperare tali dati, è necessario raggruppare i dati per la colonna department
e poi utilizzare la funzione AVG()
per calcolare lo stipendio medio:
123SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
In questa parte della sezione, lavoreremo con il database del sistema Metro di Montreal, che contiene la tabella metro_travel_time
.
Questa tabella conterrà informazioni sulla linea della stazione (line_name
), sul suo nome (station_name
) e sul tempo necessario affinché un treno viaggi da una stazione alla successiva (time_to_next_station
).
Ecco come appare questa tabella e un'anteprima dei dati in essa contenuti:
Come puoi vedere, questa non è una tabella complessa. Riflettiamo su dove possiamo utilizzare il raggruppamento in questo caso.
L'opzione più ovvia è raggruppare per i colori delle linee della metropolitana. Ciò significa che possiamo aggregare i dati, raggruppandoli per il colore della linea della metropolitana.
Alias
Negli esercizi, utilizzerai spesso un concetto chiamato alias. Un alias è essenzialmente un "soprannome" per una colonna che recuperi con un'istruzione SELECT
. Si specifica utilizzando la seguente sintassi:
SELECT column AS alias
Un alias influisce solo su come la colonna appare nella risposta.
Ad esempio, invece di MAX(time)
, la colonna potrebbe essere chiamata max_time
se assegni quell'alias. Questo rende l'output più leggibile e chiaro.
Swipe to start coding
Il tuo compito è trovare il tempo più lungo fino alla stazione successiva su ciascuna linea. Questo ci permetterà di determinare il tempo di percorrenza più lungo tra le stazioni per ogni linea della metropolitana. Per farlo, utilizza la funzione MAX()
e assegna l'alias max_time
, raggruppando i dati per la colonna line_name
.
Istruzioni sintetiche
- Recupera la colonna
line_name
e il valore massimo della colonnatime_to_next_station
. - Aggiungi l'alias
max_time
per il valore massimo. - Raggruppa i dati per la colonna
line_name
.
Una volta completato il compito, fai clic sul pulsante sotto il codice per verificare la tua soluzione.
Soluzione
Grazie per i tuoi commenti!
Awesome!
Completion rate improved to 4single