Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Clausola Group By | Raggruppamento
SQL Intermedio
Sezione 1. Capitolo 1
single

single

Clausola Group By

Scorri per mostrare il menu

Prerequisites
Prerequisiti

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:

123
SELECT 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
Note
Nota

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:

123
SELECT 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.

Compito

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_name e il valore massimo della colonna time_to_next_station dalla tabella metro_travel_time.
  • Aggiungi l'alias max_time per il valore massimo.
  • Raggruppa i dati per la colonna line_name.

Soluzione

Switch to desktopCambia al desktop per esercitarti nel mondo realeContinua da dove ti trovi utilizzando una delle opzioni seguenti
Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 1
single

single

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

some-alt