不好意思,我还想问一下,如果我用SQL语句查询一个数据库的第20-40条记录该怎么办?

解决方案 »

  1.   

    where语句怎么做?数据库中没有标识记录序号的字段!
      

  2.   

    SELECT * FROM Table WHERE (ID Between 20 And 40)
      

  3.   

    SELECT * FROM Table WHERE (ID Between 20 And 40)
    不行啊!有错误!
      

  4.   

    select a.* 
    from (select top 40 * from 表 order by 排序) a
    where a.关键字 not in (select top 20 关键字 from 表 order by 排序)
      

  5.   

    select top 20 * from (select top 20 * from 表 order by 排序字段 asc) order by 排序字段 desc
      

  6.   

    select top 20 * from (select top 40 * from 表 order by 排序字段 asc) order by 排序字段 desc
      

  7.   

    似乎还是不行啊?我的语句不需要排序,照上面的写法 “select top 20 * from (select top 40 * from 表)”对吗?但是程序运行不通过!
      

  8.   

    我觉得现在这种用法用得很多啊,建议微软将这一问题加以改进。
    比如设一个 Mid 20 20 这样的语句,以及 Last 20 这样的语句,用起来比较多方便哪:)
      

  9.   

    select IDENTITY(int, 1,1) AS ID_Num,* into #temp from 表
    select * from #temp where ID_Num>20 and ID_Num<=40
      

  10.   

    select top 40 from mytb
    where not exist
    (select top 20 from mytb)