create proc p(@parameter nvarchar(20))
as
select
[分数段]=
case when 分数 >90 then '91-100' when 分数 >80 then '81-90'
when 分数 >70 then '71-80' when 分数 >=60 then '及格' else '不及格' end,count(*) as 数量
from
table
where 科目=@parameter
group by case when 分数 >90 then '91-100' when 分数 >80 then '81-90'
when 分数 >70 then '71-80' when 分数 >=60 then '及格' else '不及格' end
go
exec p @parameter=N'离散数学'