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'UNIONSELECT 'Tim' name, 'English' subject, 9 'mark'UNIONSELECT 'Tom' name, 'Math' subject, 7 'mark'UNIONSELECT 'Tom' name, 'English' subject, 5 'mark';
name subject mark---- ------- ----Tim English 9Tim Math 8Tom English 5Tom 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') tGROUP BY t.name;
name total marks---- -----------Tim 17.0Tom 12.0
这里,我们使用
GROUP BY子句 和
total()函数将同一个
name的总分数都放在
total marks列中。
