想取出按照一个字段降序排列顺序中的第20条到第40条记录,SQl语句应该如何写呢?

解决方案 »

  1.   

    what database? if you are using SQL Server, see
    http://www.codeproject.com/aspnet/PagingLarge.asp
      

  2.   

    是在SQL下的,能不能说一说思路呢,有些看不懂
      

  3.   

    select top 40 * from table where field not in (select top 20 field from table order by field desc) order by field desc
      

  4.   

    先倒序取前40条,
    select top 40 * from table order by field desc再在结果中升序取前20条,
    select top 20 * from (select top 40 * from table order by field desc) as temp order by field asc再倒序排序
    select * from (select top 20 * from (select top 40 * from table order by field desc) as temp order by field asc) as temp2 order by field asc
      

  5.   

    好像上面的结果跟我试验出来的结果都不一样,是从第20条记录开始取20条记录(从20条记录到40条记录)select top 20 * from table where(id not in(select top 19 id from table order by id)) order by id      (后面之所以为从19开始,是因为记录是从0开始记录的)
    大家看看对吧
      

  6.   

    最后应该是as temp2 order by field desc
    写错了