表结构如下。我现在这张表,没有主键,没有自动增长列。 就是name,age,job 假设现在有1w条数据,我第一天查我不想查完,或者说我查不完。假设我查到那条我并不知道,但是只知道这一条的三个字段都知道。 那么我第二天我要从这条开始查剩余的数据。  应该怎么查?

解决方案 »

  1.   

    select * from 
    (select t.* ,rownum rn from your_table t)
    where rn > xx and rn < xx
      

  2.   

    select * from (select rownum sun,T003.*  sun from table T003) where sun >(select sun from (select T001.*,rownum sum from table T001) T002 where T002.name='name' and T002.age='age' and T002.job='job')
      

  3.   

    可不可以用到rowid这个东东来唯一标识下查到了哪里
      

  4.   

    Select * From 
    (Select Rownum num,a.* From test_prince  a Where Rownum <5) b
    Where b.num >3;可以分页查询
      

  5.   

    --第一天查询语句 ,查完后 记住 NUM 值
    SELECT ROWNUM NUM,T.* FROM TABLE_NAME ORDER BY name,age,job;
    --第二天查询语句 ,WHERE 条件写入昨天的NUM值
    SELECT *
    FROM(SELECT ROWNUM NUM,T.* FROM TABLE_NAME ORDER BY name,age,job)
    WHERE NUM > 昨天 NUM值
      

  6.   

    --第一天查询语句 ,查完后 记住 NUM 值
    SELECT ROWNUM NUM,T.* FROM TABLE_NAME T ORDER BY name,age,job;
    --第二天查询语句 ,WHERE 条件写入昨天的NUM值
    SELECT *
    FROM(SELECT ROWNUM NUM,T.* FROM TABLE_NAME T ORDER BY name,age,job)
    WHERE NUM > 昨天 NUM值忘写 别名了
      

  7.   

    同上,记住最后一条记录的rownum,下次大于这个rownum就OK了。