在oracle中取第10条记录到第20条记录
在oracle中取第10条记录到第20条记录
在oracle中取第10条记录到第20条记录
在oracle中取第10条记录到第20条记录
select *
  from t_syn_emr_check
 where rownum <= 20
minus
select * from t_syn_emr_check where rownum > 10
这句SQL不行。
报错 ORA-00932 数据了类型不一致

解决方案 »

  1.   


    select * from 
    (
    select t.*,rownum rn
      from t_syn_emr_check
    )
    where t.rn > 10 and t.rn <= 20
      

  2.   

    scott@TBWORA> select * from emp where rownum <=12
      2  minus
      3  select * from emp where rownum > 10;     EMPNO ENAME                JOB                       MGR HIREDATE              SAL       COMM     DEPTNO
    ---------- -------------------- ------------------ ---------- -------------- ---------- ---------- ----------
          7369 SMITH                CLERK                    7902 17-12月-80            800                 20
          7499 ALLEN                SALESMAN                 7698 20-2月 -81           1600        300      30
          7521 WARD                 SALESMAN                 7698 22-2月 -81           1250        500      30
          7566 JONES                MANAGER                  7839 02-4月 -81           2975                 20
          7654 MARTIN               SALESMAN                 7698 28-9月 -81           1250       1400      30
          7698 BLAKE                MANAGER                  7839 01-5月 -81           2850                 30
          7782 CLARK                MANAGER                  7839 09-6月 -81           2450                 10
          7788 SCOTT                ANALYST                  7566 19-4月 -87           3000                 20
          7839 KING                 PRESIDENT                     17-11月-81           5000                 10
          7844 TURNER               SALESMAN                 7698 08-9月 -81           1500          0      30
          7876 ADAMS                CLERK                    7788 23-5月 -87           1100                 20
          7900 JAMES                CLERK                    7698 03-12月-81            950                 30已选择12行。scott@TBWORA> select * from emp where rownum > 10;未选定行-- 你会发现:第二个查询没有返回一条数据!-- 为什么呢?
      

  3.   

    -- 请参考:http://topic.csdn.net/u/20110804/13/c6a3e5dc-5180-4524-b643-232cf9bf1a6a.html
      

  4.   

     t 是 t_sym_emr_check吗?
      

  5.   

    引用1楼
    select * from 
    (
    select t.*,rownum rn
    from t_syn_emr_check t
    )
    where rn > 10 and rn <= 20