Problema:
Vuoi trovare le righe che memorizzano il valore numerico più piccolo in una colonna.
Esempio:
Il nostro database ha una tabella denominata weather
con i dati nelle seguenti colonne:id
, city
e temperature
.
id | città | temperatura |
---|---|---|
1 | Houston | 23 |
2 | Atlanta | 20 |
3 | Boston | 15 |
4 | Cleveland | 15 |
5 | Dallas | 34 |
6 | Austin | 28 |
Ecco come trovare le città con la temperatura più bassa.
Soluzione:
SELECT id, city, temperature FROM weather WHERE temperature = (SELECT MIN(temperature) FROM weather);
Ecco il risultato:
id | città | temperatura |
---|---|---|
3 | Boston | 15 |
4 | Cleveland | 15 |
Discussione:
Per trovare il valore minimo di una colonna, usa MIN()
funzione aggregata; prende il nome della colonna o dell'espressione per trovare il valore minimo. Nel nostro esempio, la sottoquery restituisce il valore minimo nella temperature
colonna (sottoquery:SELECT MIN(temperature) FROM weather
). La query principale mostra id, città e temperatura. Per visualizzare solo le righe con valori minimi nella colonna, usa WHERE con una sottoquery (ad esempio, SELECT MIN(temperature) FROM weather
). Nella clausola WHERE, inserire il nome della colonna con il relativo valore da confrontare con il valore restituito dalla funzione di aggregazione nella sottoquery (WHERE temperature = (SELECT MIN(temperature) FROM weather)
).