【发布时间】:2020-09-20 14:06:48
【问题描述】:
我在 AWS Redshift 中有 2 个查询,这些查询针对具有相似架构的不同表。但我的问题是其中一个查询正在运行,而另一个查询失败。
第一次查询
SELECT view_table_A.accountId, view_table_A.date, SUM(view_table_A.cost) as Cost
FROM view_table_A
GROUP BY accountId, date
HAVING Cost >= '20'
第二次查询
SELECT view_table_B.projectname, view_table_B.usagedate, sum(view_table_B.cost) as Cost
FROM view_table_B
GROUP BY projectname, usagedate
HAVING Cost >= '20'
我的问题是第一个查询运行良好,而第二个查询将返回如下错误
亚马逊无效操作:列“view_table_B .cost”必须出现在 GROUP BY 子句中或用于聚合函数中;
更新 1 我尝试从查询中删除 ' 但仍然得到相同的结果。我附上了我尝试在 redshift 中执行的查询的屏幕截图。
【问题讨论】:
-
。 .您没有正确转录查询。如果一个有效,另一个也应该有效。注意:
20周围的单引号不正确。比较值应该是数字,而不是字符串。 -
@GordonLinoff,感谢您的回复。我试图删除查询中的单引号,但仍然得到相同的结果。当我执行这两个查询时,我还会附上屏幕截图。
标签: sql group-by amazon-redshift