W MySQL różnica między MIN()
i LEAST()
funkcje są dokładnie takie same, jak różnica między MAX()
i GREATEST()
funkcje.
W każdym przypadku obie funkcje wykonują podobną operację, ale mają inną składnię.
Składnia
Składnia MIN()
i LEAST()
idzie tak:
MIN([DISTINCT] expr) [over_clause] LEAST(value1,value2,...)
Więc MIN()
funkcja akceptuje DISTINCT
słowo kluczowe oraz OVER
klauzula (oraz LEAST()
funkcja nie).
Ale główna różnica między tymi dwiema funkcjami polega na akceptowanym przez nie argumencie/ach. W szczególności:
MIN()
akceptuje jeden argumentLEAST()
akceptuje wiele argumentów
Więc MIN()
jest zwykle używany do zwrócenia minimalnej wartości w kolumnie w bazie danych. Tabela może zawierać wiele wierszy, ale ta funkcja zwraca ten z minimalną wartością.
LEAST()
z drugiej strony zwraca argument o minimalnej wartości z listy przekazanych do niego argumentów. Możesz więc przekazać, powiedzmy, 3 argumenty do tej funkcji, a zwróci ona ten z najmniejszą wartością.
Przykład 1 – Funkcja MIN()
Oto przykład demonstrujący MIN()
funkcja.
SELECT MIN(Population) AS 'Result' FROM City;
Wynik:
+--------+ | Result | +--------+ | 42 | +--------+
Ten przykład wyszukuje miasto o najmniejszej liczbie mieszkańców z City
stół. Kolumna zawierająca populację każdego miasta nazywa się Population
.
Głównym punktem tego przykładu jest to, że do funkcji podano tylko jeden argument, ale zapytano wiele wierszy.
Jeśli spróbujesz przekazać wiele argumentów do MIN()
funkcja, otrzymasz błąd.
Przykład 2 – Funkcja LEAST()
Oto przykład demonstrujący LEAST()
funkcja.
SELECT LEAST(1, 5, 9) AS 'Result';
Wynik:
+--------+ | Result | +--------+ | 1 | +--------+
Tak więc w tym przypadku podajemy trzy argumenty. Każdy argument jest porównywany z drugim. Jest to przeciwieństwo pojedynczego argumentu dostarczonego do MIN()
funkcja.
Jeśli spróbujesz przekazać pojedynczy argument do LEAST()
funkcja, otrzymasz błąd.