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.