single
Clausola Group By
Scorri per mostrare il menu
Benvenuto al corso di SQL Intermedio!
Nella prima sezione, esplorerai come raggruppare e aggregare i dati all'interno delle tue tabelle.
Ecco cosa significa 'raggruppare i dati' utilizzando un semplice esempio di una tabella employees:
Raggruppamento dei dati
Obiettivo: determinare il numero di dipendenti in ciascun reparto. Per farlo, i dati verranno raggruppati in base alla colonna department e verrà utilizzata l'aggregazione con la funzione COUNT(*).
Ecco come apparirà 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
AGG_FUNC indica funzioni di aggregazione come MAX, MIN, COUNT, ecc.
Questa sintassi serve per trovare determinati valori utilizzando funzioni di aggregazione su colonne specifiche.
Ecco un altro esempio: ti è stato chiesto di trovare il dipartimento con lo stipendio medio più alto.
Per recuperare questi 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, verrà utilizzato il database del sistema Metro di Montreal, che contiene la tabella metro_travel_time.
Questa tabella contiene informazioni sulla linea della stazione (line_name), il suo nome (station_name) e il 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. Rifletti su dove possiamo utilizzare il raggruppamento qui.
L'opzione più ovvia è raggruppare per colore delle linee della metropolitana. Questo significa che possiamo aggregare i dati, raggruppandoli per colore della linea della metropolitana.
Alias
Negli esercizi, verrà spesso utilizzato un concetto chiamato alias. Un alias è sostanzialmente un "soprannome" per una colonna recuperata 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 si assegna quell'alias. Questo rende l'output più leggibile e chiaro.
Scorri per iniziare a programmare
Il tuo compito è trovare il tempo più lungo fino alla stazione successiva su ciascuna linea. Questo aiuterà a determinare il tempo di percorrenza più lungo tra le stazioni per ogni linea della metropolitana. Per farlo, utilizza la funzione MAX() e assegnale l'alias max_time, raggruppando i dati per la colonna line_name.
Istruzioni sintetiche
- Recupera la colonna
line_namee il valore massimo della colonnatime_to_next_stationdalla tabellametro_travel_time. - Aggiungi l'alias
max_timeper il valore massimo. - Raggruppa i dati per la colonna
line_name.
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