一尘不染

按组计算SQL中的百分比

sql

我从这样的数据库中提取了数据(为简单起见,将其简化),我想添加一个称为“百分比”的列。

ID   GRADE   PERCENTAGE
 1     10        10/(10+20) * 100 -- THIS PART SHOULD BE SHOWN IN DIGIT
 1     20           .
 2     15           15/(15+24+16) * 100
 2     24
 2     16
 3     29
 4     96
 4     159
 .     .
 .     .
 .     .

先感谢您


阅读 320

收藏
2021-03-08

共1个答案

一尘不染

内部选择得到s的gardeid

select t.id, t.grade, t.grade * 100 / gsum
from your_table t
join
(
   select id, sum(grade) as gsum
   from your_table
   group by id
) tmp on tmp.id = t.id
2021-03-08