组内病例百分比(按年份)
Percentage of cases within a group by year
我有这个数据集:
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 占当年总数的百分比,即
478+46+12+2=538
超过B(B1,B,B2)总数:1202
为了得到45%的百分比。
对于 A 也类似。
我想我也应该用 like 来区分 B 值和 A 值。
我该怎么办?
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
我有这个数据集:
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 占当年总数的百分比,即
478+46+12+2=538 超过B(B1,B,B2)总数:1202
为了得到45%的百分比。 对于 A 也类似。 我想我也应该用 like 来区分 B 值和 A 值。 我该怎么办?
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