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

Sådan finder du den maksimale værdi af en numerisk kolonne i SQL

Problem:

Du vil gerne finde den maksimale værdi af en numerisk kolonne.

Eksempel:

Vores database har en tabel med navnet product med data i følgende kolonner:id , name , year , og items .

id navn år varer
1 rundstykke 2018 345
2 chokolade 2017 123
3 smør 2019 34
4 rundstykke 2019 456
5 smør 2018 56
6 smør 2017 78
7 chokolade 2019 87
8 chokolade 2018 76

Lad os finde det maksimale antal solgte varer gennem alle årene.

Løsning:

SELECT MAX(items) as max_items
FROM product;

Her er resultatet:

max_items
456

Diskussion:

For at finde den maksimale værdi af en kolonne, brug MAX() aggregeret funktion; det tager som argument navnet på den kolonne, som du vil finde den maksimale værdi for. Hvis du ikke har angivet andre kolonner i SELECT klausul, vil maksimum blive beregnet for alle poster i tabellen. I vores eksempel returnerer forespørgslen det maksimale antal blandt alle varer.

Selvfølgelig, da det er en aggregeret funktion, MAX() kan også bruges med grupper. For eksempel, hvis vi gerne vil se det maksimale antal solgte varer hvert år, kan vi skrive denne forespørgsel:

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

Maksimum beregnes for hver gruppe:

år max_items
2018 345
2017 123
2019 456

  1. SQLite-hukommelsesproblem med singleton-tilgang

  2. Introduktion til PL/SQL Ref-markører i Oracle-databasen

  3. Forebyggelse af Drop Table At Target Schema i Oracle Streams

  4. Fix Msg 8117 "Operand data type varchar er ugyldig for sum operator" i SQL Server