Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Ordine delle Istruzioni | Raggruppamento
SQL Intermedio

book
Ordine delle Istruzioni

Nella nostra analisi statistica, dobbiamo contare il numero di stazioni su ogni linea della metropolitana e ordinarle in ordine crescente in base al numero di stazioni.

Questo significa che dovremmo prima determinare il numero di stazioni per ogni linea della metropolitana e poi disporle dalla linea con meno stazioni a quella con più stazioni.

Queste informazioni aiuteranno l'azienda di costruzioni a decidere quali linee della metropolitana dovrebbero essere prioritarie per aggiungere più stazioni.

Per questo, è cruciale comprendere la sequenza delle clausole SQL, specialmente dove posizionare la clausola GROUP BY.

Quindi, l'ordine è il seguente:

  1. istruzione SELECT;
  2. FROM table;
  3. clausola WHERE;
  4. clausola GROUP BY;
  5. clausola ORDER BY;
  6. clausola LIMIT.

Consideriamo un esempio di tale ordine di istruzioni utilizzando la nostra tabella employee. Supponiamo di dover recuperare il numero di dipendenti in ogni department il cui salary è superiore a 70000 e ordinarli dal più piccolo al più grande:

SELECT department, COUNT(employee_id) AS number_of_employees
FROM employees
WHERE salary > 70000
GROUP BY department
ORDER BY number_of_employees
12345
SELECT department, COUNT(employee_id) AS number_of_employees FROM employees WHERE salary > 70000 GROUP BY department ORDER BY number_of_employees
copy
Compito

Swipe to start coding

Utilizzando la tabella metro_travel_time, trova il numero di stazioni (crea una nuova colonna, denominata number_of_stations utilizzando la funzione station_name e COUNT()) per ciascuna delle linee (line_name). Successivamente, ordina il risultato dal più piccolo al più grande.

Nota

COUNT(column) è la funzione che conta il numero di righe.

Istruzioni Brevi

  • Recupera line_name e il conteggio delle righe nella colonna station_name.
  • Aggiungi l'alias number_of_stations alla seconda colonna.
  • Raggruppa i dati per line_name.
  • Ordina il risultato per number_of_stations.

Soluzione

SELECT line_name, COUNT(station_name) AS number_of_stations
FROM metro_travel_time
GROUP BY line_name
ORDER BY number_of_stations

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 2

toggle bottom row
Query ResultQuery Result
No query executed yet...
We use cookies to make your experience better!
some-alt