SQLite total() 函数使用指南
SQLite total() 函数计算一个分组中的所有指定的值的总和并返回。
SQLite total() 函数与 sum() 函数大部分相同,不同的是,total() 总是返回浮点数,而 sum() 则在输入都是整数的时会返回整数。
total() 语法
这里是 SQLite total() 的语法:
total(expr)
我们通常在 SQLite 中按如下方式使用 total() 函数:
SELECT total(expr), ...
FROM table_name
[WHERE ...]
[GROUP BY group_expr1, group_expr2, ...];
参数
expr- 必需的。一个计算总和的列名或者表达式。
返回值
SQLite total() 函数返回一个分组中的所有指定的值的总和。
total() 示例
为了演示 total() 的用法,我们使用以下 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,
total(t.mark) 'total 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 total marks
---- -----------
Tim 17.0
Tom 12.0这里,我们使用 GROUP BY 子句 和 total() 函数将同一个 name 的总分数都放在 total marks 列中。