rh2*_*h2o 3 mysql sql aggregate-functions mariadb
我想分别得到A组和B组的总和,然后将每组除以总和。
我尝试使用这个:
select name, sum(qt)
from ntbl
group by name
Run Code Online (Sandbox Code Playgroud)
| 订单号 | 姓名 | qt |
|---|---|---|
| 1 | A | 12 |
| 2 | A | 20 |
| 3 | 乙 | 33 |
| 4 | 乙 | 45 |
结果应该是:
| 姓名 | qt | DV |
|---|---|---|
| A | 32 | 0.29 |
| 乙 | 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
Run Code Online (Sandbox Code Playgroud)