Recno() >= 11 .AND. Recno() <=20

解决方案 »

  1.   

    如果是oracle用
    select id,name from 
    (select id,name,rownum mynum from employee where departmentid=2 ... order by ...) where mynum>10 and mynum<=20
    如果是sqlserver用
    select top10 from 
    (select top 21 id,name,排序列 from employee where departmentid=2 ... order by 排序列) order by columns desc
      

  2.   

    select id,name from employee where departmentid=2 limit 10,10
    举例:
    1-10:   limit 0,10
    11-20:  limit 10,10
    11-100:  limit 10,90
      

  3.   

    to nne998:limit 是什么语法!
      

  4.   

    好象一个都不行...哎!
    xg_delayth(铁鹰)的或许可以,但是会影响效率的。 
    limit怎么用?我用的是SQL Server,这根本就不是SQL Server的保留字吧!
    Recno()又是什么函数?数据库不认啊!
      

  5.   

    limit 是 mysql里的。。ms sql 可以象xg_delayth(铁鹰) 所说那样用 top。
      

  6.   

    哦,我说的是在VFP中的,在SQL中用不上!
      

  7.   

    假设表名为EMP,字段有id1,id2,id3
    select * from (select id1,id2,id3,rownum hs from emp) where 
    hs between 11 and 20
      

  8.   

    To flyfk961(fk):
    不行啊!测试不通过!rownum又是什么?
      

  9.   

    别用rownum,rownum是Oracle中的用法,你可以用select top 10 from 表名 where... order by ...
      

  10.   

    如果是以单个不重复字段a排序的话,可以
    select top N * from table1 where a not in (select top 20 a from table1) order by a
      

  11.   

    To xg_delayth(铁鹰):
    这样效率多低啊!岂不是要进行两次遍历?
      

  12.   

    sqlserver中的top是用来限定结果集大小的,所以并不是两次遍历
    用top 应该是比较标准的做法了
      

  13.   

    sqlserver中:
    select top 100 a.* from table1 a
    where a.id not in (select top 100 id from table1  order by id)
    order by a.id这样取到的是100~200之间的数据
    只要更改where a.id not in (select top 100 id from table1  order by id)这里的数就可以过虑