查询规则是什么?为什么C的age为空?

解决方案 »

  1.   

    没看出查询的规则是什么,name有两条记录就显示1,一条记录就显示空?
    select name, decode(count(*), 2, 1, 1, null, null) age from tablename group by name;
      

  2.   

    哦  不好意思  写错了  查询后 c 的age=1 才对  给错了 
      

  3.   

    select name, count(*) age from tablename group by name;
      

  4.   

    额刚刚写错了,应该是
    select name, sum(age) age from tablename group by name;
      

  5.   


    with test as(
    select 'a' name,'1' age from dual union all
    select 'a','' from dual union all
    select 'b','1' from dual union all
    select 'b','' from dual union all
    select 'c','1' from dual)
    select name,max(age),um(age)  from test group by name
      

  6.   

    你们写的都是统计的 可是 我要的不是统计  给这个比较贴切吧
    查询前
    code    name
    001       
    001      张三
    002      李四
    002  
    003               查询后 
    code    name
    001      张三
    002      李四  
    003 
      

  7.   

    with t as
     (select '001' code, '' name from dual
      union all
      select '001', '张三'  from dual
      union all
      select '002', '李四'  from dual
      union all
      select '002', ''  from dual
      union all
      select '003', '' from dual)
    select code, max(name) from t group by code order by code你不就是上面的意思么
      

  8.   

    WITH TABLE1 AS(
         SELECT 'a' name ,'' age from dual union all
         SELECT 'a' ,'1' from dual union all
         SELECT 'b' ,'1' from dual union all
         SELECT 'b' ,'' from dual union all
         SELECT 'c' ,'1' from dual
    ) SELECT * FROM TABLE1 A where A.AGE=(SELECT MAX(AGE) FROM TABLE1 B) 
    楼主要的是这种?
      

  9.   

    你的规则到底是啥呢 CODE为啥是可以重复的呢 是要去重复还是怎么样= =?看你现在的意思就是分组统计啊……
      

  10.   

    额刚刚写错了,应该是
    select name, sum(age) age from tablename group by name;null值参与计算的时候,结果是null
      

  11.   


    WITH TABLE1 AS(    
     SELECT 'a' name ,'' age from dual
      union all     SELECT 'a' ,'1' from dual
       union all     SELECT 'b' ,'1' from dual 
       union all     SELECT 'b' ,'' from dual 
       union all     SELECT 'c' ,'1' from dual) 
    select name,max(age) from TABLE1 A group by name;