可以吗?
select 0 empno ,'' ename,count(*) count from emp
union
select emp.empno ,emp.ename,0 count from emp where rownum<5

解决方案 »

  1.   

    select ss.*,(select count(*) from a where condition1......) count1
    from (
    select a1,a2,a3,a4...... from a
    where condition1...... ) ss
    where rownum < 5;
      

  2.   

    EMPNO ENAME           COUNT
    ---------- ---------- ----------
             0                    14
          7369 SMITH               0
          7499 ALLEN               0
          7521 WARD                0
          7566 JONES               0
      

  3.   

    select * from (select count(*) from emp),(select * from emp where rownum<5)
      

  4.   

    14 7369 SMITH CLERK 7902 1980-12-17 800.00 20
    14 7499 ALLEN SALESMAN 7698 1981-2-20 1600.00 300.00 30
    14 7521 WARD SALESMAN 7698 1981-2-22 1250.00 500.00 30
    14 7566 JONES MANAGER 7839 1981-4-2 2975.00 20
      

  5.   

    table ptest like this ptest(szval varchar2(10));select szval, (select count(szval) from ptest where szval='1')mycounter from ptest where szval='1';it can do
      

  6.   

    用UNION ALL可以把多个相同或者相类似结构的查询结果集连起来,但是你的要求比较奇怪,能说说你想要的输出结构吗(怎么把COUNT(*)放到结果集中)?
      

  7.   

    这是我的语句,但报错:
    SELECT jgbh,
    (SELECT COUNT(*),jgbh
     FROM yw_yhjb 
     WHERE jgbh LIKE '%3%') rowtotal 
    FROM (SELECT rownum rowcount,jgbh 
          FROM yw_yhjb 
          WHERE jgbh LIKE '%3%') 
    WHERE rowcount >=1 and rowcount<=6 
    我想按照一定的条件从数据库中取出一定数量的记录,如前6个,同时想得到数据库中符合条件的所有记录总数。
      

  8.   

    我现在用的是oracle8.0.5,语句报错是不是和版本有关?
      

  9.   

    Oracle8.05中Select后是不能加子查询的(Select),Oracle8i就可以了,版本问题
      

  10.   

    805不能用子查询替代字段,但你的查询即使在8I中也是错误的.
    SELECT jgbh,
    (SELECT COUNT(*),jgbh --作为一个字段返回的子查询只能返回一行纪录和一个值
     FROM yw_yhjb 
     WHERE jgbh LIKE '%3%') rowtotal 
    FROM (SELECT rownum rowcount,jgbh 
          FROM yw_yhjb 
          WHERE jgbh LIKE '%3%') 
    WHERE rowcount >=1 and rowcount<=6