【发布时间】:2019-09-01 06:05:21
【问题描述】:
我试图通过以下逻辑获得两个数字的总和: x = y + j 基于这个逻辑,我使用 SUM() 函数编写了 presto 查询以获得 x 和 y 的 SUM,但我得到了 Presto 语法错误
SELECT
SUM(sum(CASE
WHEN source = 'x' THEN num_tasks
ELSE 0
END) + sum(CASE WHEN source = 'y' THEN num_tasks ELSE 0 END)) as total
错误提示 Presto 查询失败。错误:SYNTAX_ERROR:不能在聚合“sum”中嵌套聚合:[“sum”((CASE WHEN(source = 'y')THEN count ELSE 0 END)),“sum”((CASE WHEN(source = 'x') THEN num_tasks ELSE 0 END))]
【问题讨论】:
-
根据 SQL 文档,您似乎无法在
Sum内使用Sum。相反,请尝试SUM(SELECT FIELD_1, FIELD_2 from TABLE_1, TABLE_2)之类的东西。然后你可以一次拉回你想要总结的列
标签: presto