Oracle SQL: sum( case when then quantity else 0 END) OVER (分区依据...) = 无法正确 GROUP BY 语句



我正在尝试选择几个不同的和,其中一个是OVER (Partition by column_also_in_select_plan)

然而,我似乎永远无法得到GROUP BY语句的权利。

的例子:

Select 1, 2, 3, sum(4) over (partition by 3), sum(case when 6 = etc...) 
FROM table
Where filters
GROUP BY ?

同时使用窗口函数进行聚合并没有多大意义,所以您感到困惑并不奇怪。在上面的示例中,您可能希望将窗口移动到外部查询,即:

select 1, 2, 3, sum(sum4) over(partition by 3), ...
from (
      select 1, 2, 3, sum(4) as sum4
      from table
      where filters
      group by 1, 2, 3
) x

最新更新