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

So finden Sie den Maximalwert einer numerischen Spalte in SQL

Problem:

Sie möchten den Maximalwert einer numerischen Spalte finden.

Beispiel:

Unsere Datenbank hat eine Tabelle namens product mit Daten in den folgenden Spalten:id , name , year und items .

id Name Jahr Artikel
1 Brötchen 2018 345
2 Schokolade 2017 123
3 Butter 2019 34
4 Brötchen 2019 456
5 Butter 2018 56
6 Butter 2017 78
7 Schokolade 2019 87
8 Schokolade 2018 76

Lassen Sie uns die maximale Anzahl der verkauften Artikel über alle Jahre ermitteln.

Lösung:

SELECT MAX(items) as max_items
FROM product;

Hier ist das Ergebnis:

max_items
456

Diskussion:

Um den maximalen Wert einer Spalte zu finden, verwenden Sie MAX() Aggregatfunktion; als Argument nimmt es den Namen der Spalte, für die Sie den Maximalwert finden möchten. Wenn Sie keine anderen Spalten in der SELECT angegeben haben -Klausel wird das Maximum für alle Datensätze in der Tabelle berechnet. In unserem Beispiel gibt die Abfrage die maximale Anzahl aller Elemente zurück.

Da es sich um eine Aggregatfunktion handelt, ist natürlich MAX() kann auch mit Gruppen verwendet werden. Wenn wir beispielsweise die maximale Anzahl der in jedem Jahr verkauften Artikel sehen möchten, können wir diese Abfrage schreiben:

SELECT year, MAX(items) AS max_items
FROM product
GROUP BY year;

Das Maximum wird für jede Gruppe berechnet:

Jahr max_items
2018 345
2017 123
2019 456