日期:2014-05-16  浏览次数:20784 次

存储过程 能根据班级编号求出平均分和排名。
求一个存储过程 能根据班级编号求出平均分和排名。

score(cID,sid,p1,p2,p3)
班级编号,学号,语文成绩,数学成绩,英语成绩
c01           1001     80          90         78
c01           1002     85          70         88
c02           1003     60          90         78
c02           1002     85          70         88
c03           1001     90          90         60
c03           1003     85          70         85

想得到的效果     
班级编号      平均分       排名
c01               -----            1
c02               -----            2

用存储过程做,班级编号为输入参数,平均分和排名是输出参数。


顺便问一下如何在。net的页面中gridview 中显示出这样的效果。
想得到的效果     
班级编号      平均分       排名
c01               -----            1
c02               -----            2


我做了一个类似的页面但是总是显示的是同一数据,希望能有人帮我写一个完整的方法。
------解决方案--------------------

--> 测试数据:[score]
if object_id('[score]') is not null drop table [score]
go 
create table [score]([cID] varchar(6),[sid] varchar(6),[p1] int,[p2] int,[p3] int)
insert [score]
select 'c01'  ,         '1001 '  ,  80    ,      90    ,     78 union all
select 'c01'  ,         '1002',   85       ,   70     ,    88 union all
select 'c02'     ,      '1003',  60   ,       90    ,     78 union all
select 'c02'    ,       '1002'  ,   85  ,