Problema:
Vorresti trovare il valore massimo di una colonna numerica.
Esempio:
Il nostro database ha una tabella denominata product
con i dati nelle seguenti colonne:id
, name
, year
e items
.
id | articoli | ||
---|---|---|---|
1 | rotolo di pane | 2018 | 345 |
2 | cioccolato | 2017 | 123 |
3 | burro | 2019 | 34 |
4 | rotolo di pane | 2019 | 456 |
5 | burro | 2018 | 56 |
6 | burro | 2017 | 78 |
7 | cioccolato | 2019 | 87 |
8 | cioccolato | 2018 | 76 |
Troviamo il numero massimo di articoli venduti in tutti gli anni.
Soluzione:
SELECT MAX(items) as max_items FROM product;
Ecco il risultato:
max_items |
---|
456 |
Discussione:
Per trovare il valore massimo di una colonna, usa MAX()
funzione aggregata; prende come argomento il nome della colonna per la quale si vuole trovare il valore massimo. Se non hai specificato altre colonne in SELECT
clausola, verrà calcolato il massimo per tutti i record nella tabella. Nel nostro esempio, la query restituisce il numero massimo tra tutti gli elementi.
Naturalmente, poiché è una funzione aggregata, MAX()
può essere utilizzato anche con i gruppi. Ad esempio, se desideriamo vedere il numero massimo di articoli venduti in ogni anno, possiamo scrivere questa query:
SELECT year, MAX(items) AS max_items FROM product GROUP BY year;
Il massimo è calcolato per ogni gruppo:
anno | max_items |
---|---|
2018 | 345 |
2017 | 123 |
2019 | 456 |