SQLite max() 函数使用指南

SQLite max() 函数计算一个分组中的所有指定的值的最大值并返回。

max() 语法

这里是 SQLite max() 的语法:

max(expr)

我们通常在 SQLite 中按如下方式使用 max() 函数:

SELECT max(expr), ...
FROM table_name
[WHERE ...]
[GROUP BY group_expr1, group_expr2, ...];

参数

expr
必需的。一个计算最大值的列名或者表达式。

返回值

SQLite max() 函数返回计算一个分组中的所有指定的值的最大值。

max() 示例

为了演示 max() 的用法,我们使用以下 UNION 语句模拟一个表:

SELECT 'Tim' name, 'Math' subject, 8 'mark'
UNION
SELECT 'Tim' name, 'English' subject, 9 'mark'
UNION
SELECT 'Tom' name, 'Math' subject, 7 'mark'
UNION
SELECT 'Tom' name, 'English' subject, 5 'mark';
name  subject  mark
----  -------  ----
Tim   English  9
Tim   Math     8
Tom   English  5
Tom   Math     7

这里,我们拥有了关于用户成绩的一些行。其中,每行中是用户的一个科目的成绩。

如果我们需要每个人的最好成绩,请使用以下语句:

SELECT
    t.name,
    max(t.mark) 'average marks'
FROM (
    SELECT 'Tim' name, 'Math' subject, 8 'mark'
    UNION
    SELECT 'Tim' name, 'English' subject, 9 'mark'
    UNION
    SELECT 'Tom' name, 'Math' subject, 7 'mark'
    UNION
    SELECT 'Tom' name, 'English' subject, 5 'mark'
) t
GROUP BY t.name;
name  average marks
----  -------------
Tim   9
Tom   7