如何使用查询语句取得第5位至第10的纪录 请各位大侠帮忙,在线等

解决方案 »

  1.   

    select top 5 * from (select top 10 * from table order by id desc)
      

  2.   

    select top 5 * from (select top 10 * from table order by id)order by id desc或者declare  @id  int 
    select top 10   @id=ID  from  table   order  by  ID  desc  
    select top 5 *  from  table where  ID <=@id  order  by  ID  desc  
    第二种好
      

  3.   

    oracle:select * from a
    where rownum<=10minus 

    select * from a
    where rownum<5
      

  4.   

    string pageSql =" ";
    string  Sql1 = sql.Insert(6,"   top "+ this.currentPage*this.pageSize + "  ");
    pageSql += "select top {0} * from ( Select top {0}  *  from ({1} order by {2} desc) DERIVEDTBL order by  {2} asc) DERIVEDTBL order by {2} desc ";
    pageSql = string.Format(pageSql,currentPageSize,Sql1,orderID); }
    其中Sql1是原始sql语句,经过处理后得到从n页的的sql语句
    这是我写的获取当前页的记录的sql语句,针对sql server的,参数有两个, 就是原始的sql语句(不能包含order by)和排序的字段,