📜  MySQL Min()

📅  最后修改于: 2020-11-18 03:31:54             🧑  作者: Mango

MySQL MIN()函数

MySQL中的MIN()函数用于从表中返回一组值中的最小值。当我们需要找到最小的数量,选择最便宜的产品等时,它是一个聚合函数。

句法

以下是MySQL中MIN()函数的基本语法:

SELECT MIN ( DISTINCT aggregate_expression)
FROM table_name(s)
[WHERE conditions];

参数说明

此函数使用以下参数:

gregation_expression:这是必需的表达式。它指定将从中返回最小值的列或表达式名称。

Table_name(s):它指定我们要从中检索记录的表。在FROM子句中必须至少列出一个表。

条件:它是可选的。它指定了选择记录必须满足的条件。

DISTINCT:它允许我们返回表达式中最小的不同值。但是,它不影响MIN()函数,并且在不使用此关键字的情况下也会产生相同的结果。

MySQL MIN()函数示例

让我们借助各种示例来了解MIN函数如何在MySQL中工作。考虑我们的数据库有一个名为“ employees”的表,其中包含以下数据。

1.基本示例

执行以下使用MIN函数的查询,以查找表中可用员工的最低收入:

mysql> SELECT MIN(income) AS Minimum_Income FROM employees;  

输出量

上面的查询产生所有行中最小值的结果。执行后,我们将得到如下输出:

2.带有WHERE子句的MySQL MIN()函数

WHERE子句允许我们从所选记录中过滤结果。以下语句从employee表中查找所有行中的最低收入,并且WHERE子句指定其emp_age列大于或等于32且小于或等于40的所有行。

mysql> SELECT MIN(income) AS Minimum_Income 
FROM employees 
WHERE emp_age >= 32 AND emp_age <= 40;

输出量

上面的语句将得到如下输出:

3.带有GROUP BY子句的MySQL MIN()函数

GROUP BY子句允许我们从多行收集数据并根据一个或多个列对其进行分组。例如,以下语句将MIN()函数与GROUP BY子句一起使用,以查找employee表中每个emp_age组的所有行中的最低收入。

mysql> SELECT emp_age, MIN(income) AS Minimum_Income 
FROM employees 
GROUP BY emp_age;

输出量

成功执行后,我们可以根据年龄对每个雇员进行分组,从而看到他们的收入回报:

4.具有HAVING子句的MySQL MIN()函数

HAVING子句始终与GROUP BY子句一起使用以从表中过滤记录。例如,以下语句返回所有雇员的最低收入,根据他们的城市将他们分组,并返回MIN(收入)> 150000的结果。

mysql> SELECT city, MIN(income) AS Minimum_Income 
FROM employees 
GROUP BY city
HAVING MIN(income) > 150000;

输出量

该语句将返回如下输出:

5.带有DISTINCT子句的MySQL MIN()函数

MySQL使用DISTINCT关键字从列名中删除重复的行。我们还可以将此子句与MIN()函数,以返回表中存在的唯一记录数的最小收入值。

执行以下查询,删除雇员表的收入列中按城市分组的重复记录,然后返回最小值:

mysql> SELECT emp_name, city, MIN(DISTINCT income) AS Minimum_Income 
FROM employees 
GROUP BY city;

输出量

该语句将给出如下输出: