V PostgreSQL, MIN()
funkce vypočítá minimum 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 MIN(productprice)
FROM products;
Výsledek:
9.99
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 minimální hodnotu.
Moje skutečná tabulka obsahuje více sloupců, ale toto zobrazuje sloupec a jeho kontext v tabulce.
NULL
Hodnoty
MIN()
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 MIN()
výsledky.
Filtrované výsledky
MIN()
funkce pracuje na řádcích vrácených dotazem. Pokud tedy filtrujete výsledky, výstup MIN()
to bude odrážet.
Umožňuje filtrovat výsledky:
SELECT MIN(productprice)
FROM products
WHERE vendorid = 1001;
Výsledek:
11.99
Hodnoty data a času
MIN()
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 | +-------+---------+------------+
Minimální hodnotu můžeme získat z dob
sloupec takto:
SELECT MIN(dob)
FROM pets;
Výsledek:
2018-10-01
Údaje o postavách
Při použití se sloupci znakových dat MIN()
najde hodnotu, která je v porovnávací posloupnosti nejnižší.
Příklad:
SELECT MIN(petname)
FROM pets;
Výsledek:
Bark