我想分别得到A组和B组的和,然后除以总和.
我试着用这个:
select name, sum(qt)
from ntbl
group by name
order_id | name | qt |
---|---|---|
1 | A | 12 |
2 | A | 20 |
3 | B | 33 |
4 | B | 45 |
结果应该是:
name | qt | dv |
---|---|---|
A | 32 | 0.29 |
B | 78 | 0.70 |
我想分别得到A组和B组的和,然后除以总和.
我试着用这个:
select name, sum(qt)
from ntbl
group by name
order_id | name | qt |
---|---|---|
1 | A | 12 |
2 | A | 20 |
3 | B | 33 |
4 | B | 45 |
结果应该是:
name | qt | dv |
---|---|---|
A | 32 | 0.29 |
B | 78 | 0.70 |
可以将聚合函数和窗口函数组合在一起:
select name
, sum(qt) as sum_qt
, sum(qt) / sum(sum(qt)) over () * 100 as pct_qt
from t
group by name