Firebird 1.5:嵌套聚合

时间:2012-11-14 05:56:13

标签: sql firebird

我有一个SQL语句需要在Firebird中使用多个聚合函数,但我得到的错误是:

Error: GDS Exception. 335544569. Dynamic SQL Error
SQL error code = -104
Nested aggregate and window functions are not allowed
SQLState:  42000
ErrorCode: 335544569

这是我的示例SQL:

SELECT SUM(LOG(3, (NoPassed/TotalNo * 100))) FROM TABLE_A

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用LOG函数的结果填充临时表,然后执行SUM聚合函数。

1)

CREATE TABLE TEMP (S DOUBLE PRECISION)

2)

INSERT INTO TEMP (S)
SELECT LOG(3, (NoPassed/TotalNo * 100)) FROM TABLE_A

3)

SELECT SUM(S) FROM TEMP