首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

sql求大神解决解决方法

2013-07-16 
sql求大神解决with A_CODE as (select JACK namea, 2 a, 1 bfrom dualunion allselect JACK namea

sql求大神解决

with A_CODE as
 (select 'JACK' namea, '2' a, '1' b    from dual
  union all
  select 'JACK' namea, '3' a, '2' b    from dual
  union all
  select 'JACK' namea, '1' a, '3' b    from dual
  union all
  select 'TOM' namea, '1' a, '1' b    from dual
  union all
  select 'TOM' namea, '2' a, '2' b    from dual
  union all
  select 'TOM' namea, '4' a, '3' b    from dual
  union all
  select 'SAM' namea, '2' a, '1' b    from dual
  union all
  select 'SAM' namea, '2' a, '2' b from dual)


根据namea分组  求a/b 的值分别在0-1和1-2的列count值 plsql SQL
[解决办法]
这样?
with A_CODE as
 (select 'JACK' namea, '2' a, '1' b
    from dual
  union all
  select 'JACK' namea, '3' a, '2' b
    from dual
  union all
  select 'JACK' namea, '1' a, '3' b
    from dual
  union all
  select 'TOM' namea, '1' a, '1' b
    from dual
  union all
  select 'TOM' namea, '2' a, '2' b
    from dual
  union all
  select 'TOM' namea, '4' a, '3' b
    from dual
  union all
  select 'SAM' namea, '2' a, '1' b
    from dual


  union all
  select 'SAM' namea, '2' a, '2' b from dual)
select namea,
       sum(case
             when a between 0 and 1 then
              1
             else
              0
           end) a,
       sum(case
             when b between 1 and 2 then
              1
             else
              0
           end) b
  from a_code
 group by namea;

热点排行
Bad Request.