No MariaDB,
MIN()
é uma função agregada que retorna o valor mínimo em uma determinada expressão. Sintaxe
A sintaxe fica assim:
MIN([DISTINCT] expr)
Dados de amostra
Suponha que temos uma tabela com os seguintes dados:
SELECT
VendorId,
ProductName,
ProductPrice
FROM Products;
Resultado:
+----------+---------------------------------+--------------+ | 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 | +----------+---------------------------------+--------------+
Exemplo
Podemos usar a seguinte consulta para obter o preço mínimo dessa tabela.
SELECT MIN(ProductPrice)
FROM Products;
Resultado:
9.99
Nesse caso, as informações de preço são armazenadas no
ProductPrice
coluna, e então passamos isso como um argumento para o MIN()
função, que então calcula e retorna o resultado. Resultados filtrados
O
MIN()
A função opera nas linhas retornadas pela consulta. Portanto, se você filtrar os resultados, a saída de MIN()
vai refletir isso. SELECT MIN(ProductPrice)
FROM Products
WHERE VendorId = 1001;
Resultado:
11.99
Nesse caso, 11,99 é o preço mínimo de todos os produtos oferecidos pelo fornecedor especificado.
Dados de data/hora
Você pode usar
MIN()
em valores de data/hora. Suponha que temos a seguinte tabela:
SELECT PetName, DOB
FROM Pets;
Resultado:
+---------+------------+ | 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 | +---------+------------+
Podemos usar
MIN()
para encontrar a data mínima de nascimento (DOB
). SELECT MIN(DOB)
FROM Pets;
Resultado:
2018-10-01
Esta seria a data de nascimento do animal de estimação mais velho.
NULL
Valores
O
MIN()
função ignora qualquer NULL
valores. Em nossa tabela de exemplo acima, as duas últimas linhas contêm NULL
valores em seu DOB
coluna, mas eles foram ignorados em nosso MIN()
exemplo. Dados de caracteres
Quando usado com colunas de dados de caracteres,
MIN()
encontra o valor mais baixo na sequência de agrupamento. Exemplo:
SELECT MIN(ProductName)
FROM Products;
Resultado:
Bottomless Coffee Mugs (4 Pack)
O DISTINCT
Palavra-chave
O
DISTINCT
palavra-chave pode ser usada com o MIN()
No entanto, isso produz o mesmo resultado que omitir DISTINCT
. Permitindo o DISTINCT
A função permite que o MariaDB esteja em conformidade com o padrão ISO SQL. Portanto, podemos fazer isso:
SELECT MIN(DISTINCT ProductPrice)
FROM Products;
Resultado:
9.99
Mas não tem impacto nos resultados.
O
DISTINCT
palavra-chave pode ser muito útil quando usada com outros contextos (por exemplo, com o COUNT()
função), mas não tem significado quando usado com MIN()
. O DISTINCT
palavra-chave remove duplicatas, mas no caso de MIN()
não fará diferença porque MIN()
retorna o mesmo resultado, independentemente de quantas linhas compartilham o mesmo valor mínimo. Funções da janela
O
MIN()
A função pode ser usada em conjunto com a função OVER
cláusula para criar uma função de janela. Veja SQL
MIN()
Para Iniciantes para um exemplo.