MySQL MIN函数

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 “的表,其中包含以下数据。

MySQL MIN函数

1. 基本例子

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

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

输出

上述查询返回所有行中最小值的结果。执行后,我们将得到以下输出:

MySQL MIN函数

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;

输出

以上语句将得到以下输出:

MySQL MIN函数

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;

输出

成功执行后,我们可以看到根据员工年龄分组后,每位员工的收入如下:

MySQL MIN函数

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;

输出

这个语句会返回以下输出:

MySQL MIN函数

5. 使用DISTINCT子句的MySQL MIN()函数

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

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

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

输出

此语句将以以下方式输出:

MySQL MIN函数

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程