GROUP BY + 窗口嵌套聚合(单层 SQL,不嵌套子查询)

注意:

分组函数over中的字段,如非分组字段,要用分组函数计算
over(order by sum(num2) )

select
     id
    ,sum(num1) as sum_num
    ,sum(count(distinct id)) over(order by id)              as sum_num_total
    ,sum(sum(num1))          over(order by sum(num2) )  as sum_num_order
from (
    select 'a' as id,1 as num1,2 as num2 union all
    select 'b' as id,2 as num1,3 as num2 union all
    select 'b' as id,3 as num1,5 as num2 union all
    select 'c' as id,4 as num1,4 as num2 union all
    select 'c' as id,5 as num1,6 as num2
) t1
group by id
;
posted @ 2026-07-20 17:22  chenzechao  阅读(10)  评论(0)    收藏  举报