MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Função MIN() no MariaDB


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.