PID=Conn.Execute("select count(id) from test where id<="&Num&" and id="&rs("id")&" and TID="&cccid&"")(0)
id为当前行id,TID为父ID,Num为在父ID下的总行数,rs("id")为当前id的值,比如9,默认排序升序
我要实现的功能是判断当前行在数据中的位置并返回结果
比如
test表
id name TID
3    A     147
4    B     147
1    D     147
2    E     147
7    Z     147
9    X     147
6    H     147
12  J      147
现在我要查出name="X"在第几行
也就是得出"6"

解决方案 »

  1.   

    就是查ID?
    那不就是:select id from test where name=@name 
    这个意思?
      

  2.   

    没意义啊,位置的前提是排序,你要先排序才能确认位置!
    如果要默认序列的位置,用sql简单点就是 select identity(int, 1, 1) sortNo, * into #t from tbname,select sortNo from #t where id name = 'X'
      

  3.   

    换个思路问吧,比如论坛回复的3楼,5楼,12楼,我将它作为热门回复,显示在主题下面,使用页内锚链接,那么如果12楼在第二页,怎么定位,楼层在数据库中没有记录,只有总的楼层数,在HTML中用序列号表示,现在的问题就是路面链接怎么判断
    分页:每页10条记录
    第一页:5楼
    链接形式:index.asp?id=1&page=1#5
    第二页:12楼
    index.asp?id=1&page=1#12
      

  4.   

    写错了,
    第二页:12楼
    index.asp?id=1&page=2#12
      

  5.   

    解决了
    应该这样写
    select px= count(1) from a where id<= (select id from a where id='9') and TID='147'