W MariaDB, MIN()
to funkcja agregująca, która zwraca minimalną wartość w danym wyrażeniu.
Składnia
Składnia wygląda tak:
MIN([DISTINCT] expr)
Przykładowe dane
Załóżmy, że mamy tabelę z następującymi danymi:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Wynik:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Przykład
Możemy użyć następującego zapytania, aby uzyskać minimalną cenę z tej tabeli.
SELECT MIN(ProductPrice)
FROM Products;
Wynik:
9.99
W takim przypadku informacje o cenie są przechowywane w ProductPrice
kolumna, więc przekazujemy to jako argument do MIN()
funkcja, która następnie oblicza i zwraca wynik.
Przefiltrowane wyniki
MIN()
funkcja działa na wierszach zwróconych przez zapytanie. Więc jeśli filtrujesz wyniki, wyjście MIN()
odzwierciedli to.
SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Wynik:
11.99
W tym przypadku 11,99 to minimalna cena spośród wszystkich produktów oferowanych przez określonego dostawcę.
Dane dotyczące daty/godziny
Możesz użyć MIN()
o wartościach daty/czasu.
Załóżmy, że mamy następującą tabelę:
SELECT PetName, DOB
FROM Pets;
Wynik:
+---------+------------+ | 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 | +---------+------------+
Możemy użyć MIN()
aby znaleźć minimalną datę urodzenia (DOB
).
SELECT MIN(DOB)
FROM Pets;
Wynik:
2018-10-01
Byłaby to data urodzenia najstarszego zwierzaka.
NULL
Wartości
MIN()
funkcja ignoruje każdy NULL
wartości. W naszej przykładowej tabeli powyżej ostatnie dwa wiersze zawierają NULL
wartości w ich DOB
kolumna, ale zostały zignorowane w naszej MIN()
przykład.
Dane postaci
W przypadku użycia z kolumnami danych znakowych MIN()
znajduje najniższą wartość w kolejności zestawiania.
Przykład:
SELECT MIN(ProductName)
FROM Products;
Wynik:
Bottomless Coffee Mugs (4 Pack)
DISTINCT
Słowo kluczowe
DISTINCT
słowo kluczowe może być używane z MIN()
funkcja, jednak daje ten sam wynik, co pominięcie DISTINCT
. Zezwalanie na DISTINCT
funkcja umożliwia MariaDB zgodność ze standardem ISO SQL.
Dlatego możemy to zrobić:
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
Wynik:
9.99
Ale nie ma to wpływu na wyniki.
DISTINCT
słowo kluczowe może być bardzo przydatne w innych kontekstach (np. z COUNT()
funkcja), ale nie ma znaczenia, gdy jest używany z MIN()
. DISTINCT
słowo kluczowe usuwa duplikaty, ale w przypadku MIN()
nie zrobi to żadnej różnicy, ponieważ MIN()
zwraca ten sam wynik, niezależnie od tego, ile wierszy ma tę samą minimalną wartość.
Funkcje okien
MIN()
funkcja może być używana w połączeniu z OVER
klauzula, aby utworzyć funkcję okna.
Zobacz SQL MIN()
Przykład dla początkujących.