2 和 3 应该差不多。如果数据量比较大,可以先不要管总页数。像csdn 一样

解决方案 »

  1.   

    哦,像csdn 一样?怎么样的?不管总页数是怎么做的?说来听听。
      

  2.   

    如果我要找第3页
    每页20篇select top 20*3 * from tablename order by ID desc这样就找出前3页的文章。如果能够保证ID连续的才可以 计算出xx 和 yy。 使用where ID>xx And ID<yy
      

  3.   

    我觉得如果ID基本上是连续的。就先取出MaxID.然后取第 n 页
    select top 20 * from tableName where ID < (MaxID - 20 * n ) order by ID desc稍微有些出入,应该没有关系吧
      

  4.   

    那可能只能取前n页吧select top 20*3 * from tablename order by ColumnName desc
    Oracle好像可以解决。
      

  5.   

    为了可以按其它字段进行排序,我需要重新编号,所以我想用
    declare @DataID int not null identity(1,1)
    但是出错,是不是我应该建立一个临时表来进行重新编号,如果用临时表,效率方面怎么样?是否比用循环付值强?
      

  6.   

    可怕的Sql Server,难道这么简单的需求都没有替我们想到吗?
      

  7.   

    select top 20 * from (
                  select top 20*n  *  from tablename order by ColumnName desc
                 ) 
    order by ColumnName 或
      

  8.   

    set  rowcount n
    select * from tableName where ID .....
      

  9.   

    to hellion(恶人):
        和用top差不多