SELECT列表表达式引用列...既不分组也不聚合

时间:2019-09-11 08:34:07

标签: sql aggregate-functions

为此,我浏览了类似的主题,但我认为它不能解决我面临的问题。

我正在使用SELECT语句,该语句引用135列,并且已要求该语句具有聚合函数。

此错误是因为代码末尾没有GROUP BY子句。

提议的解决方案是GROUP BY-1,2,3,4..133,134,135 [避免汇总列]。似乎还是有错误。

这会使代码变得冗长且难以维护。这使我相信必须有一个更简洁和可维护的解决方案。

有人对更好的方法有任何想法吗?可能将汇总度量值分离到另一个表中?

非常感谢任何输入。

1 个答案:

答案 0 :(得分:0)

如果要在每一行上汇总度量,请使用窗口函数。例如:

select . . .,
       count(*) as total_rows,
       sum(amount) over (partition by ?) as total_amount_per_whatever
from . . .