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

MAX() Funktion i PostgreSQL

I PostgreSQL er MAX() funktion beregner det maksimale af de ikke-nul-inputværdier og returnerer resultatet.

Denne funktion kan bruges på enhver numerisk, streng, dato/klokkeslæt eller enum-type, såvel som inet , interval , money , oid , pg_lsn , tid , og arrays af enhver af disse typer.

Eksempel

Her er et hurtigt eksempel for at demonstrere, hvordan det virker:

SELECT MAX(productprice) 
FROM products;

Resultat:

245.00

I dette tilfælde productprice er en kolonne i products bord.

For at give dette lidt mere kontekst er her et øjebliksbillede af tabellen:

+----------+---------------------------------+--------------+
| 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 |
+----------+---------------------------------+--------------+

Vi kan se productprice kolonne, som vi fik den maksimale værdi for i vores eksempel.

Min faktiske tabel indeholder flere kolonner, men dette viser dig kolonnen og dens kontekst i tabellen.

NULL Værdier

MAX() funktionen ignorerer enhver NULL værdier. I vores eksempeltabel ovenfor har forhammeren fået NULL i dens productprice kolonne, men det blev ignoreret i vores MAX() eksempel.

Filtrerede resultater

MAX() funktionen fungerer på de rækker, der returneres af forespørgslen. Så hvis du filtrerer resultaterne, er resultatet af MAX() vil afspejle det.

Lad os filtrere resultaterne:

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

Resultat:

25.99

Dato-tidsværdier

MAX() funktionen kan bruges på datetime-værdier:

Antag, at vi har en tabel kaldet pets med følgende data:

+-------+---------+------------+
| 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       |
+-------+---------+------------+

Vi kan få den maksimale værdi fra dob kolonne, som denne:

SELECT MAX(dob) 
FROM pets;

Resultat:

2020-11-28

Tegndata

Når det bruges sammen med tegndatakolonner, MAX() finder den værdi, der er højest i sorteringssekvensen.

Eksempel:

SELECT MAX(petname) 
FROM pets;

Resultat:

Wag

  1. Returner tabeltype fra en funktion i PostgreSQL

  2. Sådan undgår du at indsætte duplikerede poster i SQL INSERT-forespørgsel (5 nemme måder)

  3. Oracle 9i, Oracle 10g og Oracle 11g Developer Suite Selvstudie til formularer og rapporter

  4. Sådan erstattes en streng i en SQL Server-tabelkolonne