条件: 10人以下 10到20人 20到30人
人数:       22              34              21
我想问下如何才能通过一条sql  查询出人数列的所有值的方式。

解决方案 »

  1.   

    描述的可能不太清楚,  就是查询机构下人数范围,如果分3条sql来写可以,可是觉得太菜了,就想有没有一条sql能够解决的,先前想用虚子段赋值,但是发现我是多个值赋到一个字段上,囧希望有大牛能给我解惑
      

  2.   

    with tmp as(
    select 'A' dept,22 person_num from dual
    union all 
    select 'B' dept,34 person_num from dual
    union all 
    select 'C' dept,21 person_num from dual
    )
    select person_num,case
             when person_num < 10 then
              dept||'小于10人'
             when person_num >= 10 and person_num < 20 then
              dept||'10-20人之间'
             when person_num >= 20 and person_num < 30 then
              dept||'20-30人之间'
             else
              dept||'大于30人'
           end dept_type
      from tmp