我的SQLite表(OrderTable)中有价格列。我想在Price列中添加所有值,以便我可以得到总价。
例如,Price列有3个值:
150.00
250.00
300.00
如何使用SQLite查询获取总金额( 700.00 )?
答案 0 :(得分:4)
total(X)其中x是列名。 Click这里了解更多有关sqlite中数学函数的知识。
SELECT total(Price)AS TOTAL_PRICE FROM OrderTable; //将导致浮动值
SELECT sum(Price)AS TOTAL_PRICE FROM OrderTable //将导致int值
样品
CREATE TABLE OrderTable (Price Integer);
INSERT INTO OrderTable VALUES (1);
INSERT INTO OrderTable VALUES (2);
INSERT INTO OrderTable VALUES (3);
INSERT INTO OrderTable VALUES (NULL); // NULL
SELECT total(Price) AS TOTAL_PRICE FROM OrderTable; // output 6.0
SELECT sum(Price) AS TOTAL_PRICE FROM OrderTable // output 6
sum()和 total()聚合函数返回所有的总和 组中的非NULL值。
如果没有非NULL输入行 然后sum()返回NULL但total()返回0.0。
对于没有行的总和而言,NULL通常不是有用的结果 SQL标准要求它和大多数其他SQL数据库引擎实现 sum()就是这样,所以SQLite以同样的方式做到这一点 兼容。非标准的total()函数作为a提供 在SQL语言中解决此设计问题的便捷方法。
total()的结果始终是浮点值。的结果 如果所有非NULL输入都是整数,sum()是一个整数值。如果有的话 sum()的输入既不是整数也不是NULL,然后sum()返回一个 浮点值,可能是真实总和的近似值。
如果所有输入都是,则Sum()将抛出“整数溢出”异常 整数或NULL和整数溢出发生在任何时候 计算。 Total()从不抛出整数溢出。