В MariaDB, MIN()
е агрегатна функция, която връща минималната стойност в даден израз.
Синтаксис
Синтаксисът е така:
MIN([DISTINCT] expr)
Примерни данни
Да предположим, че имаме таблица със следните данни:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Резултат:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Пример
Можем да използваме следната заявка, за да получим минималната цена от тази таблица.
SELECT MIN(ProductPrice)
FROM Products;
Резултат:
9.99
В този случай информацията за цената се съхранява в ProductPrice
колона и затова предаваме това като аргумент на MIN()
функция, която след това изчислява и връща резултата.
Филтрирани резултати
MIN()
функцията работи с редовете, върнати от заявката. Така че, ако филтрирате резултатите, изходът на MIN()
ще отрази това.
SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Резултат:
11.99
В този случай 11,99 е минималната цена от всички продукти, предлагани от посочения доставчик.
Данни за дата/час
Можете да използвате MIN()
на стойности за дата/час.
Да предположим, че имаме следната таблица:
SELECT PetName, DOB
FROM Pets;
Резултат:
+---------+------------+ | 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 | +---------+------------+
Можем да използваме MIN()
за да намерите минималната дата на раждане (DOB
).
SELECT MIN(DOB)
FROM Pets;
Резултат:
2018-10-01
Това ще бъде датата на раждане на най-стария домашен любимец.
NULL
Стойности
MIN()
функцията игнорира всеки NULL
стойности. В нашата примерна таблица по-горе последните два реда съдържат NULL
стойности в техния DOB
колона, но те бяха игнорирани в нашия MIN()
пример.
Данни за знаци
Когато се използва с колони с данни за знаци, MIN()
намира стойността, която е най-ниската в последователността за сортиране.
Пример:
SELECT MIN(ProductName)
FROM Products;
Резултат:
Bottomless Coffee Mugs (4 Pack)
DISTINCT
Ключова дума
DISTINCT
ключовата дума може да се използва с MIN()
функция обаче, това води до същия резултат като пропускането на DISTINCT
. Разрешаване на DISTINCT
функция позволява на MariaDB да отговаря на стандарта ISO SQL.
Следователно можем да направим това:
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
Резултат:
9.99
Но това не оказва влияние върху резултатите.
DISTINCT
ключова дума може да бъде много полезна, когато се използва с друг контекст (напр. с COUNT()
функция), но няма значение, когато се използва с MIN()
. DISTINCT
ключова дума премахва дубликати, но в случай на MIN()
няма да има никаква разлика, защото MIN()
връща един и същ резултат, независимо от това колко реда споделят една и съща минимална стойност.
Функции на прозореца
MIN()
функцията може да се използва във връзка с OVER
клауза за създаване на прозоречна функция.
Вижте SQL MIN()
За начинаещи за пример.