MySQL 中的 MIN() 函数用于返回表中一组值中的最小值。它是一个聚合函数,当我们需要找到最小的数字、选择最便宜的产品等时很有用。
用法
以下是 MySQL 中 MIN() 函数的基本语法:
SELECT MIN ( DISTINCT aggregate_expression)
FROM table_name(s)
[WHERE conditions];
参数说明
该函数使用以下参数:
aggregate_expression:它是必需的表达式。它指定将从中返回最小值的列或表达式名称。
Table_name(s):它指定我们要从中检索记录的表。 FROM 子句中必须至少列出一个表。
WHERE 条件:可选。它指定要选择的记录必须满足的条件。
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. MySQL MIN() 函数与 GROUP BY 子句
GROUP BY 子句允许我们从多行收集数据并基于一列或多列对其进行分组。例如,以下语句使用带有 GROUP BY 子句的 MIN() 函数来查找每个 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(income)>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;
输出
该语句将给出如下输出:
相关用法
- MySQL MINUTE()用法及代码示例
- MySQL MID()用法及代码示例
- MySQL MICROSECOND()用法及代码示例
- MySQL MONTHNAME()用法及代码示例
- MySQL MONTH()用法及代码示例
- MySQL MAX()用法及代码示例
- MySQL MAKE_SET()用法及代码示例
- MySQL MD5用法及代码示例
- MySQL MOD()用法及代码示例
- MySQL MAKEDATE()用法及代码示例
- MySQL MAKETIME()用法及代码示例
- MySQL ROUND()用法及代码示例
- MySQL REPEAT()用法及代码示例
- MySQL POWER()用法及代码示例
- MySQL LEAD() and LAG()用法及代码示例
- MySQL IS_IPV4()用法及代码示例
- MySQL WEEK()用法及代码示例
- MySQL CHARACTER_LENGTH()用法及代码示例
- MySQL CURTIME()用法及代码示例
- MySQL weekofyear()用法及代码示例
注:本文由纯净天空筛选整理自 MySQL MIN() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。