SQLite 函数

SQLite MAX() 函数返回给定表的表达式或指定列的最大值。

聚合 MAX() 函数返回 NULL当且仅当组中没有非 NULL 值时。

注意:另请参阅多参数MAX() 函数。

语法

使用 MAX() 函数的语法如下:

SELECT MAX(column_name) 
FROM table_name
WHERE condition(s); 

SQLite GROUP BY 子句当使用一列或多列时,用于将结果表排列成相同的组。请注意,必须在 GROUP BY 子句中包含那些未封装在 MAX() 函数中的列名。请参阅以下语法:

SELECT column1, column2, ...
       MAX(column_name) 
FROM table_name
WHERE condition(s)
GROUP BY column1, column2, ...; 

参数

column1, column2, ...指定未封装在 MAX() 函数中的列名。它必须包含在 GROUP BY 子句中。
column_name指定需要从中获取最大值的列或表达式
table_name指定需要检索记录的表名。
WHERE condition可选。 指定条件。根据指定条件选择记录。

返回值

返回给定表达式的最大值。

示例 - 单列

考虑一个名为 Employee 的数据库表,其中包含以下记录:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800

获取Employee 表中最高工资,查询将是:

SELECT MAX(Salary) AS MaxSalary 
FROM Employee; 

上述查询的结果将是:

MaxSalary
3100

示例 - 使用 GROUP BY

考虑上面讨论的名为 Employee 的数据库,其中包含以下记录:

EmpIDNameCityAgeSalary
1JohnLondon253000
2MarryNew York242750
3JoParis272800
4KimAmsterdam303100
5RameshNew Delhi283000
6HuangBeijing282800

按年龄分组获取员工的最大工资,其中年龄大于27,可以使用以下查询:

SELECT Age, MAX(Salary) AS MaxSalary 
FROM Employee
WHERE Age > 27
GROUP BY Age; 

上述代码的结果将是:

AgeMaxSalary
283000
303100