sql >> Database >  >> RDS >> PostgreSQL

MAX() Functie in PostgreSQL

In PostgreSQL is de MAX() functie berekent het maximum van de niet-null invoerwaarden en retourneert het resultaat.

Deze functie kan worden gebruikt voor elk numeriek, tekenreeks-, datum/tijd- of opsommingstype, evenals voor inet , interval , money , oid , pg_lsn , tid , en arrays van elk van deze typen.

Voorbeeld

Hier is een snel voorbeeld om te laten zien hoe het werkt:

SELECT MAX(productprice) 
FROM products;

Resultaat:

245.00

In dit geval productprice is een kolom in de products tafel.

Om dit wat meer context te geven, is hier een momentopname van de tabel:

+----------+---------------------------------+--------------+
| vendorid |           productname           | productprice |
+----------+---------------------------------+--------------+
|     1001 | Left handed screwdriver         |        25.99 |
|     1001 | Right handed screwdriver        |        25.99 |
|     1001 | Long Weight (blue)              |        14.75 |
|     1001 | Long Weight (green)             |        11.99 |
|     1002 | Sledge Hammer                   |         NULL |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

We kunnen de productprice . zien kolom waarvoor we de maximale waarde in ons voorbeeld hebben gekregen.

Mijn werkelijke tabel bevat meer kolommen, maar dit toont u de kolom en de context binnen de tabel.

NULL Waarden

De MAX() functie negeert elke NULL waarden. In onze voorbeeldtabel hierboven heeft de voorhamer NULL in zijn productprice kolom, maar dat werd genegeerd in onze MAX() voorbeeld.

Gefilterde resultaten

De MAX() functie werkt op de rijen die door de query worden geretourneerd. Dus als u de resultaten filtert, wordt het resultaat van MAX() zal dat weerspiegelen.

Laten we de resultaten filteren:

SELECT MAX(productprice) 
FROM products
WHERE vendorid = 1001;

Resultaat:

25.99

Datum/tijd-waarden

De MAX() functie kan worden gebruikt op datetime-waarden:

Stel dat we een tabel hebben met de naam pets met de volgende gegevens:

+-------+---------+------------+
| petid | petname |    dob     |
+-------+---------+------------+
|     1 | Fluffy  | 2020-11-20 |
|     2 | Fetch   | 2019-08-16 |
|     3 | Scratch | 2018-10-01 |
|     4 | Wag     | 2020-03-15 |
|     5 | Tweet   | 2020-11-28 |
|     6 | Fluffy  | 2020-09-17 |
|     7 | Bark    | NULL       |
|     8 | Meow    | NULL       |
+-------+---------+------------+

We kunnen de maximale waarde halen uit de dob kolom, zoals deze:

SELECT MAX(dob) 
FROM pets;

Resultaat:

2020-11-28

Karaktergegevens

Indien gebruikt met karaktergegevenskolommen, MAX() vindt de waarde die het hoogst is in de sorteervolgorde.

Voorbeeld:

SELECT MAX(petname) 
FROM pets;

Resultaat:

Wag

  1. Prestatiemythen:tekenreekskolommen te groot maken

  2. Converteer SQLite naar JSON

  3. LIKE vs BEVAT op SQL Server

  4. Beste SQL Recovery Tool voor 2020 om cruciale SQL-database te herstellen