Clausola Group By
Benvenuto al corso di SQL Intermedio!
Nella prima sezione, verrà approfondito come raggruppare e aggregare i dati all'interno delle tabelle.
Vediamo cosa significa "raggruppare i dati" utilizzando un semplice esempio di una tabella degli impiegati:
Raggruppamento dei dati
L'obiettivo è determinare il numero di impiegati in ciascun dipartimento. Per farlo, i dati verranno raggruppati per la 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.
Consideriamo un altro esempio: ci è stato richiesto di individuare il dipartimento con la retribuzione media più alta.
Per ottenere questi dati, è necessario raggruppare i dati per la colonna department e poi utilizzare la funzione AVG() per calcolare la retribuzione media:
123SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
In questa parte della sezione, lavoreremo con il database del sistema della metropolitana di Montreal, che contiene la tabella metro_travel_time.
Questa tabella conterrà 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. Riflettiamo su dove possiamo utilizzare il raggruppamento qui.
L'opzione più ovvia è raggruppare per colore delle linee della metropolitana. Ciò significa che possiamo aggregare i dati, raggruppandoli per il colore della linea della metropolitana.
Alias
Negli esercizi, verrà spesso utilizzato un concetto chiamato alias. Un alias è fondamentalmente 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.
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_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
Fantastico!
Completion tasso migliorato a 4
Clausola Group By
Scorri per mostrare il menu
Benvenuto al corso di SQL Intermedio!
Nella prima sezione, verrà approfondito come raggruppare e aggregare i dati all'interno delle tabelle.
Vediamo cosa significa "raggruppare i dati" utilizzando un semplice esempio di una tabella degli impiegati:
Raggruppamento dei dati
L'obiettivo è determinare il numero di impiegati in ciascun dipartimento. Per farlo, i dati verranno raggruppati per la 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.
Consideriamo un altro esempio: ci è stato richiesto di individuare il dipartimento con la retribuzione media più alta.
Per ottenere questi dati, è necessario raggruppare i dati per la colonna department e poi utilizzare la funzione AVG() per calcolare la retribuzione media:
123SELECT department, AVG(salary) as average_salary FROM employees GROUP BY department
In questa parte della sezione, lavoreremo con il database del sistema della metropolitana di Montreal, che contiene la tabella metro_travel_time.
Questa tabella conterrà 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. Riflettiamo su dove possiamo utilizzare il raggruppamento qui.
L'opzione più ovvia è raggruppare per colore delle linee della metropolitana. Ciò significa che possiamo aggregare i dati, raggruppandoli per il colore della linea della metropolitana.
Alias
Negli esercizi, verrà spesso utilizzato un concetto chiamato alias. Un alias è fondamentalmente 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.
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_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