注册 登录
编程论坛 ASP技术论坛

如何获得记录集中某一数据的排名

风浪中的船 发布于 2012-08-23 17:38, 310 次点击
只有本站会员才能查看附件,请 登录

我的数据库如上图:表名为Info,分别有id,title,rq,ps等字段,按ps从高向低排名形成一个记录集后,如何获得ID为14在记录集中的排名?请大家帮忙。

我的代码如下:


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="Connections/conn.asp" -->
<%
Dim pm
Dim pm_numRows
Set pm = Server.CreateObject("ADODB.Recordset")
pm.ActiveConnection = MM_conn_STRING
pm.Source = "SELECT id, ps, rq, title FROM Info ORDER BY ps DESC"
pm.CursorType = 0
pm.CursorLocation = 2
pm.LockType = 1
pm.Open()
pm_numRows = 0

%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>


</body>
</html>
<%
pm.Close()
Set pm = Nothing
%>
3 回复
#2
netlin2012-08-24 13:56
楼主,在你的代码中加了一些内容,你试一下:

<%
Dim pm
Dim pm_numRows
Set pm = Server.CreateObject("ADODB.Recordset")
pm.ActiveConnection = MM_conn_STRING
pm.Source = "SELECT id, ps, rq, title FROM Info ORDER BY ps DESC"
pm.CursorType = 0
pm.CursorLocation = 2
pm.LockType = 1
pm.Open()
pm_numRows = 0
dim i,out
i=0
do while not pm.eof
    i=i+1
    if pm("id")=14 then exit do
    pm.movenext
loop
out=i    '名次
response.write "名次:" & out
%>
#3
风浪中的船2012-08-24 16:56
不行呀,直接输出了“排名14”
#4
netlin2012-08-24 23:43
方法和思路是可行的,你再调试一下吧!
1