正在加载中...

关闭
请选择需要拨打的号码

信息详页

返回
ASP给成绩排名(排序)的方法,要求分数相同的成绩名次相同
ASP给数据库中的成绩进行排名,要求分数相同的成绩名次相同。

实现思路:将成绩按从大到小排列,第一个数的名次写入1,然后循环,判断第二个数与第一个数是否相等,相等则写入相同的名次,不相等则名次加1,再循环……

<%
'为班级排名
j=0
i=0
thesame=0
Set rs=Server.CreateObject("ADODB.Recordset")
sql="select stu_no,cj_all from student where class_no="&banji&" order by cj_all desc"
rs.open sql,conn,1,1

do while not rs.eof
'如果分数相同,则名次相同。如:两个并列第一名,则没有第二名,下一个为第三名
             if rs("cj_all")=thesame then
                 i=i
                   j=j+1
             else
                 i=i+j+1
                   j=0
             end if
             thesame=rs("cj_all")
sql="update student set cj_banxu="&i&" where stu_no='"&rs("stu_no")&"'"
conn.execute(sql)
rs.movenext
loop

rs.close
%>