首页  >  问答  >  正文

新标题:计算各组相对于总和的平均值

我想分别得到A组和B组的总和,然后除以总和。

我尝试使用这个:

select name, sum(qt)
from ntbl
group by name
order_id 姓名 qt
1 一个 12
2 一个 20
3 B 33
4 B 45

结果应为:

姓名 qt dv
一个 32 0.29
B 78 0.70


P粉852578075P粉852578075296 天前317

全部回复(2)我来回复

  • P粉561438407

    P粉5614384072023-12-29 13:20:15

    您可以交叉连接另一个对所有数量求和的子查询

    db<>小提琴此处

    回复
    0
  • P粉005417748

    P粉0054177482023-12-29 09:01:28

    您可以将聚合函数和窗口函数组合在一起:

    select name
         , sum(qt) as sum_qt
         , sum(qt) / sum(sum(qt)) over () * 100 as pct_qt
    from t
    group by name

    回复
    0
  • 取消回复