Sql 一组内每年的病例百分比

Sql 一组内每年的病例百分比,sql,teradata,teradata-sql-assistant,Sql,Teradata,Teradata Sql Assistant,我有以下数据集: 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

我有以下数据集:

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的值。
我该怎么办?

@dnoeth,我已经尝试了该代码,但它会给我以下消息:有序分析函数不能嵌套。你为什么接受非工作答案?:-)因为我不能测试它,但是代码应该做我一直在寻找的事情。因为我有不同的名字,所以我不得不改变它。为了解释我在做什么,我提出了一个新问题,使用了正确的名字,而不是一个例子
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