Database
 sql >> Database >  >> RDS >> Database

Come trovare il valore massimo di una colonna numerica in SQL

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 .

anno
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