SQL MAX() 和 MIN()

在 SQL 中,

  • MAX() 函数返回列的最大值。
  • MIN() 函数返回列的最小值。

SQL MAX() 函数

SQL MAX() 函数的语法是

SELECT MAX(columnn)
FROM table;

这里,

  • column 是您要筛选的列的名称
  • table 是要从中获取数据的表的名称

例如,

SELECT MAX(age)
FROM Customers;

这里,SQL 命令返回 age 列中的最大值。

How to use MAX() in SQL
示例:SQL 中的 MAX()

SQL MIN() 函数

SQL MIN() 函数的语法是

SELECT MIN(columnn)
FROM table;

这里,

  • column 是您要筛选的列的名称
  • table 是要从中获取数据的表的名称

例如,

SELECT MIN(age)
FROM Customers;

这里,SQL 命令返回 age 列中的最小值。

How to use MIN() in SQL
示例:SQL 中的 MIN()

带 MAX() 和 MIN() 的别名

在上面的示例中,结果集中的字段名是 MIN(age)MAX(age)

也可以使用 AS 关键字为这些字段指定自定义名称。例如,

-- use max_age as an alias for the maximum age
SELECT MAX(age) AS max_age
FROM Customers;

这里,字段名 MAX(age) 在结果集中被 max_age 替换。

How to use alias in SQL with MAX or MIN function
示例:带别名的 SQL MAX()

带字符串的 MAX() 和 MIN()

MAX()MIN() 函数也适用于文本。例如,

--select the minimum value of first_name from Customers

SELECT MIN(first_name) AS min_first_name
FROM Customers;

这里,SQL 命令根据字典顺序选择 first_name 的最小值。

How to use MIN or MAX with String in SQL
示例:带字符串的 SQL MIN()

嵌套 SELECT 中的 MAX() 和 MIN()

我们知道,MAX() 函数返回最大值。类似地,MIN() 函数返回最小值。

但是,如果我们要选择包含该值的整行,我们可以像这样使用嵌套的 SELECT 语句。

-- MIN() function in a nested SELECT statement

SELECT *
FROM Customers
WHERE age = (
    SELECT MIN(age)
    FROM Customers
);

这里,SQL 命令选择所有年龄最小的客户。

How to find all rows that have min or max specified value
示例:SQL 中的嵌套 MIN()

更多 SQL MAX() 和 MIN() 示例

两个或多个值的 MAX() 和 MIN()

我们还可以使用 MAX()MIN() 函数从两个或多个值中查找最高或最低值。例如,

-- returns 50 as highest
SELECT MAX(20, 30, 50) as highest;

-- returns 20 as lowest
SELECT MIN(20, 30, 50) as lowest;
带 HAVING 的 MAX() 和 MIN()

让我们看看如何将 MAX()MIN() 函数与 HAVING 一起使用

SELECT *
FROM Customers
GROUP BY country
HAVING MAX(age);

这里,SQL 命令从 Customers 表中返回每个国家的最大 age

要了解更多信息,请访问 SQL HAVING 子句


另请阅读

在我们结束之前,让我们测试一下您对 SQL MAX() 和 MIN() 的了解!您能解决以下挑战吗?

挑战

编写一个 SQL 查询来查找 Salaries 表中的最高薪水。

假设您有一个名为 Salaries 的表。该表的架构如下

Salaries

列名

数据类型

employee_id

int

salary

int

一家公司将员工的薪水记录在此表中。


您的任务是编写一个 SQL 查询来查找 Salaries 表中的最高薪水。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战