Resumo : neste tutorial, você aprenderá como usar a MIN()
função MySQL para encontrar o valor mínimo em um conjunto de valores.
Introdução à função MySQL MIN()
A MIN()
função retorna o valor mínimo em um conjunto de valores. A MIN()
função é muito útil em alguns cenários como encontrar o menor número, selecionar o produto mais barato ou obter o menor limite de crédito.
Aqui está a sintaxe básica da MIN()
função:
MIN(DISTINCT expression);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Nesta sintaxe, a MIN()
função aceita uma expressão que pode ser uma coluna ou uma expressão válida que envolva colunas.
O DISTINCT
não tem nenhum efeito na MIN()
função como outras funções agregadas, como SUM()
, AVG()
e COUNT()
.
Exemplos de funções MySQL MIN
Usaremos a products
tabela do banco de dados de exemplo para a demonstração.
1) Usando a função MySQL MIN() para encontrar o valor mínimo em uma coluna
Esta consulta usa a MIN()
função para obter o preço mais baixo de todos os produtos da products
tabela:
SELECT
MIN(buyPrice)
FROM
products;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, a consulta verifica todos os valores da coluna buyPrice
da products
tabela e retorna o menor valor.
2) Usando MySQL MIN() com um exemplo de cláusula WHERE
Este exemplo usa a MIN()
função para encontrar o menor preço de compra de todas as motocicletas:
SELECT
MIN(buyPrice)
FROM
products
WHERE
productline = 'Motorcycles';
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo:
- Primeiro, especifique uma condição na
WHERE
cláusula que obtenha apenas produtos cuja linha de produtos sejaMotorcycles
. - Segundo, use a
MIN()
função para obter o valor mais baixo do preço de compra de todas as motocicletas.
Aqui está a saída:
3) Usando MySQL MIN() com um exemplo de subconsulta
Para encontrar não apenas o preço, mas também outras informações do produto, como código e nome do produto, use a MIN()
função em uma subconsulta , conforme mostrado na consulta a seguir:
SELECT
productCode,
productName,
buyPrice
FROM
products
WHERE
buyPrice = (
SELECT
MIN(buyPrice)
FROM
products);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Como funciona.
- A subconsulta retorna o produto com menor preço de compra na
products
tabela. - A consulta externa seleciona o produto cujo preço de compra é igual ao preço mais baixo retornado pela subconsulta.
4) Usando a função MySQL MIN() com um exemplo GROUP BY
Como outras funções agregadas, a MIN()
função é frequentemente usada com a GROUP BY
cláusula para encontrar o valor mínimo para cada grupo.
Este exemplo usa a MIN()
função com uma GROUP BY
cláusula para obter o produto com menor preço de compra para cada linha de produto:
SELECT
productline,
MIN(buyprice)
FROM
products
GROUP BY productline;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo:
- Primeiro, a
GROUP BY
cláusula agrupa produtos por linha de produtos. - Em segundo lugar, a
MIN()
função retorna o produto com menor preço de compra em cada linha de produtos.
5) Usando a função MySQL MIN() com um exemplo de cláusula HAVING
Esta consulta usa a MIN()
função com as cláusulas GROUP BY
e HAVING
para encontrar as linhas de produtos que têm o menor preço de compra inferior a 21:
SELECT
productLine,
MIN(buyPrice)
FROM
products
GROUP BY
productline
HAVING
MIN(buyPrice) < 25
ORDER BY
MIN(buyPrice);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
6) Usando MIN() com uma subconsulta correlacionada
A consulta a seguir seleciona o produto de menor preço em cada linha de produtos, combinando a MIN()
função com uma subconsulta correlacionada :
SELECT
productline,
productCode,
productName,
buyprice
FROM
products a
WHERE
buyprice = (
SELECT
MIN(buyprice)
FROM
products b
WHERE
b.productline = a.productline);
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Neste exemplo, para cada linha de produtos da consulta externa, a subconsulta correlacionada seleciona o produto de menor preço na linha de produtos e retorna o preço mais baixo.
O preço mais baixo retornado é então usado como entrada para a consulta externa para encontrar os dados do produto relacionado, incluindo linha de produto, código do produto, nome do produto e preço de compra.
Se quiser obter o mesmo resultado sem usar a MIN()
função e uma subconsulta , você pode usar uma auto-junção da seguinte forma:
SELECT
a.productline,
a.productCode,
a.productName,
a.buyprice
FROM
products a
LEFT JOIN products b
ON a.productline = b.productline
AND b.buyprice < a.buyprice
WHERE
b.productcode IS NULL;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
Resumo
- Use a
MIN()
função para encontrar o valor mínimo em um conjunto de valores.