sql—组内病例的百分比(按年份)

u59ebvdq  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(415)

我有这个数据集:

Year   Grade  count 
2010    B2     1
2010    B      478
2010    B1     46
2010    B1     12 
2010    B1     2
2010    B2     612
2010    A1     160
2010    A1     8
...

我想确定每年(示例中只有2010年)a1和b1占当年总量的百分比,即。
b(b1、b、b2)合计478+46+12+2=538:1202
为了得到45%的百分比。a也是一样。我想我也应该用like来区分b和a的值。我该怎么办?

mfuanj7w

mfuanj7w1#

SEL years,
Score,
,count(0)
,100.0*count(*) / 
Sum(Count(CASE WHEN grade LIKE '_1' THEN 1 end ))   -- A1 & B1
Over (PARTITION BY years, Substr(grade,1,1)) AS pct -- per A/B
From table1
Group by 1,2

相关问题