表名TestTable表结构如下
                       ID                             Name  12507AFB-AEEC-4FF9-8081-00003A386061                  张1
22507AFB-AEEC-4FF9-8081-00003A386062                  张2
32507AFB-AEEC-4FF9-8081-00003A386063                  张3
42507AFB-AEEC-4FF9-8081-00003A386064                  张4
52507AFB-AEEC-4FF9-8081-00003A386065                  张5
62507AFB-AEEC-4FF9-8081-00003A386066                  张6
72507AFB-AEEC-4FF9-8081-00003A386067                  张7
82507AFB-AEEC-4FF9-8081-00003A386068                  张8
92507AFB-AEEC-4FF9-8081-00003A386069                  张9
02507AFB-AEEC-4FF9-8081-00003A386010                  张10
112507AFB-AEEC-4FF9-8081-00003A38601                  张11
12507AFB-AEEC-4FF9-8081-00003A386012                  张12我按如下分页方式
SELECT TOP 20 * 
FROM TestTable 
WHERE (ID NOT IN (SELECT TOP 20*页数 id FROM TestTable ORDER BY id)) ORDER BY ID
现在我知道一个ID:“62507AFB-AEEC-4FF9-8081-00003A386066 ” 对应名称也就是“张6”
我想知道这条数据处于按上面的分页SQL处于第几页,可以用SQL算得出来吗?我用的数据库是sqlserver 2000 不是2005 没有那个row_number()

解决方案 »

  1.   

    SELECT Ceiling(COUNT(*)/20.0) FROM TestTable WHERE ID<='62507AFB-AEEC-4FF9-8081-00003A386066 '
      

  2.   

    SELECT Ceiling(COUNT(*)/20.0) FROM TestTable WHERE ID<='62507AFB-AEEC-4FF9-8081-00003A386066 '
      

  3.   

    SELECT Ceiling(COUNT(*)/20.0) FROM TestTable WHERE ID<='62507AFB-AEEC-4FF9-8081-00003A386066 '
      

  4.   

    SELECT Ceiling(COUNT(*)/20.0) FROM TestTable WHERE ID <='62507AFB-AEEC-4FF9-8081-00003A386066 '