日期:2014-05-17  浏览次数:20845 次

成绩排序问题,请教很多高手还未解决,谁能过来帮帮我?
我要的效果是:
姓名     总分
张三     610
李四     610
王二     580
赵五     575
黄山     562
邓峰     500
朱左     500
龚博     480    

那么排名就是
姓名     总分   排名
张三     610       1
李四     610       1
王二     580       3
赵五     575       4
黄山     562       5
邓峰     500       6
朱左     500       6
龚博     480       8

...........................

注意:不是以下效果:

姓名     总分
张三     610
李四     610
王二     580
赵五     575
黄山     562
邓峰     500
朱左     500
龚博     480    

那么排名就是
姓名     总分   排名
张三     610       1
李四     610       1
王二     580       2
赵五     575       3
黄山     562       4
邓峰     500       5
朱左     500       5
龚博     480       6
.................
下面是第二种效果的代码,谁能帮我改成第一种效果,谢!!!!!!!!!
<%
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>
<tr>
<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
%>


------解决方案--------------------
if tem <> Csng(rs( "zf ")) then
i=i+1
tem=Csng(rs( "zf "))
end if
------解决方案--------------------
我试过了,这样可以的:


<%
Dim Rs
dim i '定义名次变量
dim j '参考值
dim tem
i=1
j=0
Set Rs = Conn.Execute( "Select Top 120 * From scores Where grade=8 Order By zf Desc ")
tem=rs( "zf ")
%>
<table cel