sql >> Databáze >  >> RDS >> MariaDB

Funkce MIN() v MariaDB

V MariaDB, MIN() je agregační funkce, která vrací minimální hodnotu v daném výrazu.

Syntaxe

Syntaxe vypadá takto:

MIN([DISTINCT] expr)

Ukázková data

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

SELECT
    VendorId,
    ProductName,
    ProductPrice
FROM Products;

Výsledek:

+----------+---------------------------------+--------------+
| 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                   |        33.49 |
|     1003 | Chainsaw                        |       245.00 |
|     1003 | Straw Dog Box                   |        55.99 |
|     1004 | Bottomless Coffee Mugs (4 Pack) |         9.99 |
+----------+---------------------------------+--------------+

Příklad

K získání minimální ceny z této tabulky můžeme použít následující dotaz.

SELECT MIN(ProductPrice)
FROM Products;

Výsledek:

9.99

V tomto případě jsou informace o ceně uloženy v ProductPrice a tak to předáme jako argument do MIN() funkce, která pak vypočítá a vrátí výsledek.

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.

SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;

Výsledek:

11.99

V tomto případě je 11,99 minimální cena ze všech produktů nabízených uvedeným prodejcem.

Datum/čas

Můžete použít MIN() na hodnotách data/času.

Předpokládejme, že máme následující tabulku:

SELECT PetName, DOB 
FROM Pets;

Výsledek:

+---------+------------+
| PetName | DOB        |
+---------+------------+
| Fluffy  | 2020-11-20 |
| Fetch   | 2019-08-16 |
| Scratch | 2018-10-01 |
| Wag     | 2020-03-15 |
| Tweet   | 2020-11-28 |
| Fluffy  | 2020-09-17 |
| Bark    | NULL       |
| Meow    | NULL       |
+---------+------------+

Můžeme použít MIN() najít minimální datum narození (DOB ).

SELECT MIN(DOB)
FROM Pets;

Výsledek:

2018-10-01

To by bylo datum narození nejstaršího mazlíčka.

NULL Hodnoty

MIN() funkce ignoruje všechny NULL hodnoty. V naší vzorové tabulce výše obsahují poslední dva řádky NULL hodnoty v jejich DOB sloupec, ale byly ignorovány v našem MIN() příklad.

Ú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(ProductName)
FROM Products;

Výsledek:

Bottomless Coffee Mugs (4 Pack)

DISTINCT Klíčové slovo

DISTINCT klíčové slovo lze použít s MIN() Tato funkce však vede ke stejnému výsledku jako vynechání DISTINCT . Povolení DISTINCT umožňuje MariaDB vyhovět standardu ISO SQL.

Proto můžeme udělat toto:

SELECT MIN(DISTINCT ProductPrice)
FROM Products;

Výsledek:

9.99

Ale nemá to žádný vliv na výsledky.

DISTINCT klíčové slovo může být velmi užitečné při použití v jiných kontextech (např. s COUNT() funkce), ale při použití s ​​MIN() nemá žádný význam . DISTINCT klíčové slovo odstraní duplikáty, ale v případě MIN() nebude to dělat žádný rozdíl, protože MIN() vrátí stejný výsledek bez ohledu na to, kolik řádků sdílí stejnou minimální hodnotu.

Funkce okna

MIN() funkci lze použít ve spojení s OVER klauzule k vytvoření funkce okna.

Viz SQL MIN() Příklad pro začátečníky.


  1. Jak funguje SECOND() v MariaDB

  2. Jak změnit database_url na heroku?

  3. Knee-Jerk Wait Statistics :PAGELATCH

  4. Jak zajistit, aby rozšíření nebylo přemístitelné?