Função MySQL MIN()

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 DISTINCTnã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 productstabela 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 productstabela:

SELECT 
    MIN(buyPrice)
FROM
    products;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Experimente

Exemplo de função MySQL MIN

Neste exemplo, a consulta verifica todos os valores da coluna buyPriceda productstabela 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 WHEREcláusula que obtenha apenas produtos cuja linha de produtos seja Motorcycles.
  • 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:

MySQL MIN com uma cláusula WHERE

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 )

Experimente

MySQL MIN com subconsulta

Como funciona.

  • A subconsulta retorna o produto com menor preço de compra na productstabela.
  • 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 BYcláusula para encontrar o valor mínimo para cada grupo.

Este exemplo usa a MIN()função com uma GROUP BYclá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 )

Experimente

MySQL MIN com cláusula GROUP BY

Neste exemplo:

  • Primeiro, a GROUP BYclá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 BYe HAVINGpara 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 )
MySQL MIN com um exemplo de cláusula HAVING

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 )

Experimente

MySQL MIN com subconsulta correlacionada

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 )

Experimente

Resumo

  • Use a MIN()função para encontrar o valor mínimo em um conjunto de valores.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *