我的 SQLite 表 (OrderTable) 中有Price列。我想添加价格列中的所有值,以便获得总价。
例如价格列有 3 个值:
150.00
250.00
300.00
Run Code Online (Sandbox Code Playgroud)
如何使用 SQLite 查询获得总金额(700.00)?
total(X) 其中 x 是列名。单击此处了解有关 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
Run Code Online (Sandbox Code Playgroud)
从参考
的总和()和总()聚集函数组中返回所有非空值的总和。
如果没有非 NULL 输入行, 则 sum() 返回 NULL 但 total() 返回 0.0。
对于没有行的总和,NULL 通常不是有用的结果,但 SQL 标准要求它和大多数其他 SQL 数据库引擎以这种方式实现 sum(),因此 SQLite 以相同的方式执行它以便兼容。提供了非标准的 total() 函数,以方便地解决 SQL 语言中的此设计问题。
total() 的结果总是一个浮点值。如果所有非 NULL 输入都是整数,则 sum() 的结果是一个整数值。如果 sum() 的任何输入既不是整数也不是 NULL,则 sum() 返回一个浮点值,该值可能是真实总和的近似值。
如果所有输入都是整数或 NULL 并且在计算过程中的任何时候发生整数溢出,Sum() 将抛出“整数溢出”异常。Total() 从不引发整数溢出。
归档时间: |
|
查看次数: |
713 次 |
最近记录: |