sql >> Database >  >> RDS >> Database

Hoe de maximale waarde van een numerieke kolom in SQL te vinden

Probleem:

U wilt de maximale waarde van een numerieke kolom vinden.

Voorbeeld:

Onze database heeft een tabel met de naam product met gegevens in de volgende kolommen:id , name , year , en items .

id naam jaar items
1 broodje 2018 345
2 chocolade 2017 123
3 boter 2019 34
4 broodje 2019 456
5 boter 2018 56
6 boter 2017 78
7 chocolade 2019 87
8 chocolade 2018 76

Laten we eens kijken naar het maximale aantal verkochte artikelen over alle jaren.

Oplossing:

SELECT MAX(items) as max_items
FROM product;

Dit is het resultaat:

max_items
456

Discussie:

Gebruik de MAX() . om de maximale waarde van een kolom te vinden geaggregeerde functie; het neemt als argument de naam van de kolom waarvoor u de maximale waarde wilt vinden. Als u geen andere kolommen heeft opgegeven in de SELECT clausule, wordt het maximum berekend voor alle records in de tabel. In ons voorbeeld retourneert de query het maximale aantal van alle items.

Omdat het natuurlijk een aggregatiefunctie is, MAX() kan ook met groepen worden gebruikt. Als we bijvoorbeeld het maximale aantal verkochte artikelen per jaar willen zien, kunnen we deze vraag schrijven:

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

Het maximum wordt berekend voor elke groep:

jaar max_items
2018 345
2017 123
2019 456

  1. MySQL-replicatie voor hoge beschikbaarheid

  2. Hoe vaak moet u een back-up maken van uw databases?

  3. Top tien redenen om te migreren van Oracle naar PostgreSQL

  4. Fout bij aanmelden bij update