sql >> Databáze >  >> RDS >> PostgreSQL

Funkce MAX() v PostgreSQL

V PostgreSQL je to MAX() funkce vypočítá maximum z nenulových vstupních hodnot a vrátí výsledek.

Tuto funkci lze použít pro jakýkoli číselný, řetězcový, datum/čas nebo typ enum, stejně jako inet , interval , money , oid , pg_lsn , tid a pole kteréhokoli z těchto typů.

Příklad

Zde je rychlý příklad demonstrující, jak to funguje:

SELECT MAX(productprice) 
FROM products;

Výsledek:

245.00

V tomto případě productprice je sloupec v products stůl.

Abychom tomu dodali trochu více kontextu, zde je snímek tabulky:

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

Vidíme productprice sloupec, pro který jsme v našem příkladu získali maximální hodnotu.

Moje skutečná tabulka obsahuje více sloupců, ale toto zobrazuje sloupec a jeho kontext v tabulce.

NULL Hodnoty

MAX() funkce ignoruje všechny NULL hodnoty. V naší vzorové tabulce výše má perlík NULL v jeho productprice sloupec, ale to bylo ignorováno v našem MAX() příklad.

Filtrované výsledky

MAX() funkce pracuje na řádcích vrácených dotazem. Pokud tedy filtrujete výsledky, výsledek MAX() to bude odrážet.

Umožňuje filtrovat výsledky:

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

Výsledek:

25.99

Hodnoty data a času

MAX() funkci lze použít na hodnoty datetime:

Předpokládejme, že máme tabulku nazvanou pets s následujícími údaji:

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

Maximální hodnotu můžeme získat z dob sloupec takto:

SELECT MAX(dob) 
FROM pets;

Výsledek:

2020-11-28

Údaje o postavách

Při použití se sloupci znakových dat MAX() najde hodnotu, která je v porovnávací posloupnosti nejvyšší.

Příklad:

SELECT MAX(petname) 
FROM pets;

Výsledek:

Wag

  1. ECONNREFUSED pro Postgres na nodeJS s dockery

  2. Jak filtrovat řádky s hodnotami Null v příkazu Select v SQL Server - SQL Server / Výukový program TSQL, část 110

  3. Míchání ANSI 1992 JOINs a COMMAs v dotazu

  4. Nejlepší datový typ pro ukládání hodnot měn v databázi MySQL