SQL SUM()函数可以将表达式作为参数吗?

时间:2012-05-14 16:56:14

标签: sql sqlite aggregate-functions

我正在使用SQLite数据库,我想知道是否允许我按如下方式编写查询:

SELECT SUM(column1 * column2)
FROM my_table;

我用Google搜索,但引用说SUM函数具有以下格式:

SUM([DISTINCT|ALL] column)

我的问题是:column是否意味着实际上是列还是允许表达式(如上所述)?

2 个答案:

答案 0 :(得分:4)

您始终可以使用表格表达式:

SELECT SUM(Calc)
FROM (
SELECT Column1 * Column2 AS 'Calc'
FROM My_Table) t

我没有SQLite,但检查文档表明这应该可以正常工作。

答案 1 :(得分:3)

是的,如果两列的数据类型都允许,您可以使用类似于您提到的表达式。