成绩排序名次问题?
我想实现以下效果:
姓名 总分
张三 610
李四 610
王二 610
赵五 600
那么排名就是
姓名 总分 排名
张三 610 1
李四 610 1
王二 610 1
赵五 600 4
下面是我写的代码:
<%
Dim Rs
dim i '定义名次变量
dim tem
i=0
tem=1
Set Rs = Conn.Execute( "Select Top 120 * From scores Where grade=8 Order By zf Desc ")
Do While Not Rs.EOF
if tem <> rs( "zf ") then i=i+1:tem=rs( "zf ")
%>
<table cellspacing= "1 " cellpadding= "0 " width= "750 " bgcolor= "gainsboro " border= "0 " align= "center ">
<tbody>
<tr bgcolor= "#FFFFCC " height= "20 " onMouseOver=this.style.backgroundColor= "lime " onMouseOut=this.style.backgroundColor= "#FFFFCC ">
<td width= "48 ">
<div align= "center " class= "STYLE2 "> <%=rs( "zf ")%> </div> </td>
<td width= "46 ">
<div align= "center " class= "STYLE2 "> <%=i %> </div> </td>
</tr>
</table>
<%
Rs.MoveNext
Loop
Rs.Close
Set Rs = Nothing
%>
但以上代码出来的却是以下效果:
姓名 总分
张三 610
李四 610
王二 610
赵五 600
那么排名就是
姓名 总分 排名
张三 610 1
李四 610 1
王二 610 1
赵五 600 2
哪位高手能帮我实现第一种效果,谢!!!!!!!!
------解决方案--------------------if tem <> cint(rs( "zf ")) then i=i+1:tem=cint(rs( "zf "))
------解决方案--------------------定义一个参考变量,记录相同成绩的人数,然后在总名次变量中减去这个变量的值。
<%
Dim Rs
dim i '定义名次变量
dim j '参考值
dim tem
i=0
j=0
tem=1
Set Rs = Conn.Execute( "Select Top 120 * From scores Where grade=8 Order By zf Desc ")
Do While Not Rs.EOF
if tem <> rs( &q