Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MIN() vs LEAST() no MySQL:Qual é a diferença?


No MySQL, a diferença entre o MIN() e LEAST() funções é exatamente a mesma que a diferença entre as funções MAX() e GREATEST() funções.

Em cada caso, ambas as funções executam uma operação semelhante, mas têm uma sintaxe diferente.


Sintaxe


A sintaxe para MIN() e LEAST() fica assim:
MIN([DISTINCT] expr) [over_clause]
LEAST(value1,value2,...)

Portanto, o MIN() função aceita o DISTINCT palavra-chave, bem como um OVER cláusula (e o LEAST() função não).

Mas a principal diferença entre essas duas funções está no argumento(s) que elas aceitam. Especificamente:
  • MIN() aceita um argumento
  • LEAST() aceita vários argumentos

Então MIN() é normalmente usado para retornar o valor mínimo em uma coluna em um banco de dados. A tabela pode conter muitas linhas, mas esta função retorna aquela com o valor mínimo.

LEAST() por outro lado, retorna o argumento de valor mínimo da lista de argumentos passados ​​a ele. Então você pode passar, digamos, 3 argumentos para esta função e ela retornará aquele com o menor valor.

Exemplo 1 – A função MIN()


Aqui está um exemplo para demonstrar o MIN() função.
SELECT MIN(Population) AS 'Result'
FROM City;

Resultado:
+--------+
| Result |
+--------+
|     42 |
+--------+

Este exemplo encontra a cidade com a menor população de City tabela. A coluna que contém a população de cada cidade é chamada de Population .

O ponto principal sobre este exemplo é que apenas um argumento foi fornecido para a função, mas várias linhas foram consultadas.

Se você tentar passar vários argumentos para o MIN() função, você receberá um erro.

Exemplo 2 – A função MENOS()


Aqui está um exemplo para demonstrar o LEAST() função.
SELECT LEAST(1, 5, 9) AS 'Result';

Resultado:
+--------+
| Result |
+--------+
|      1 |
+--------+

Portanto, neste caso, fornecemos três argumentos. Cada argumento é comparado com o outro. Isso contrasta com o argumento único fornecido para o MIN() função.

Se você tentar passar um único argumento para LEAST() função, você receberá um erro.