MySQL MIN函数
MySQL的MIN()函数用于从表格中的一组值中返回 最小值 。它是一个聚合函数,在需要找到最小数、选择最便宜的产品等情况下非常有用。
语法
MIN()函数的基本语法如下: function in MySQL :
SELECT MIN ( DISTINCT aggregate_expression)
FROM table_name(s)
[WHERE conditions];
参数说明
该函数使用以下参数:
aggregate_expression: 这是必需的表达式。它指定要从中返回最小值的列或表达式名称。
table_name: 它指定我们要从中检索记录的表。FROM子句中必须至少列出一个表。
WHERE条件: 它是可选的。它指定必须满足的条件才能选择记录。
DISTINCT: 它允许我们返回表达式中不同值的最小值。然而,它不影响MIN()函数,并且在不使用此关键字的情况下产生相同的结果。
MySQL MIN()函数示例
让我们通过各种示例来了解MIN函数在MySQL中的工作原理。假设我们的数据库有一个名为” employees “的表,其中包含以下数据。
1. 基本例子
执行以下查询,使用MIN函数查找表中可用的员工的最小收入:
mysql> SELECT MIN(income) AS Minimum_Income FROM employees;
输出
上述查询返回所有行中最小值的结果。执行后,我们将得到以下输出:
2. MySQL MIN()函数与WHERE子句
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子句允许我们从多行中收集数据并根据一个或多个列进行分组。例如,以下语句使用MIN()函数与GROUP BY子句,在每个emp_age组中找到employee表中所有行的最低收入。
mysql> SELECT emp_age, MIN(income) AS Minimum_Income
FROM employees
GROUP BY emp_age;
输出
成功执行后,我们可以看到根据员工年龄分组后,每位员工的收入如下:
4. 使用带 HAVING 子句的 MySQL MIN函数
HAVING 子句 总是与 GROUP BY 子句一起使用,用于从表中筛选记录。例如,以下语句按照员工所在城市进行分组,返回所有员工的最低收入,且最低收入大于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;
输出
此语句将以以下方式输出: