在SQLite中添加相同列的所有元素

时间:2011-09-13 04:49:41

标签: iphone sqlite

我的SQLite表(OrderTable)中有价格列。我想在Price列中添加所有值,以便我可以得到总价。

例如,Price列有3个值:

150.00  
250.00  
300.00 

如何使用SQLite查询获取总金额( 700.00 )?

1 个答案:

答案 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

来自reference

  

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()从不抛出整数溢出。