zoukankan      html  css  js  c++  java
  • 待研究 case when 和decode

     假设有张学生成绩表(CJ)如下 
    [姓名] [学科] [成绩] 
    张三 语文 80 
    张三 数学 86 
    张三 英语 75 
    李四 语文 78 
    李四 数学 85 
    李四 英语 78 

    现有需求如下:
    (1)要求统计分数段的人数。显示结果为:
    [成绩]      [人数]
    0<成绩<60      0 
    60<成绩<80      3
    80<成绩<100    3

    with w as (select 'zhang' name, 'chinese' subject,80 score from dual
      union all
              select 'zhang' name, 'math' subject,86 score from dual
           
      union all
     
      select 'zhang' name, 'english' subject,75 score from dual
      union all
     
      select 'li' name, 'english' subject,78 score from dual
      union all
     
      select 'li' name, 'math' subject,85 score from dual
      union all
     
      select 'li' name, 'chinese' subject,78 score from dual
      )
     select w.*  from w

    with w as (select 'zhang' name, 'chinese' subject,80 score from dual
      union all
              select 'zhang' name, 'math' subject,86 score from dual
           
      union all
      
      select 'zhang' name, 'english' subject,75 score from dual
      union all
      
      select 'li' name, 'english' subject,78 score from dual
      union all
      
      select 'li' name, 'math' subject,85 score from dual
      union all
      
      select 'li' name, 'chinese' subject,78 score from dual
      )
     select w.*  from w 
    

      select w.*, decode( score, score >=0 and score<60  ,'0-60',
         score>=60 and score<80, '60-80', score>=80 and score<100 , '80-100', else)  from w
    这样不行

    select dj,count(*) rs from(select xm,xk,case when cj>=0 and cj<60 then 'c' when cj>=60 and cj<80 then 'b' when cj>=80 and cj<=100 then 'a' end dj from cjb)
    group by dj
    
  • 相关阅读:
    559. N叉树的最大深度
    999. 车的可用捕获量
    1051. 高度检查器
    238. 除自身以外数组的乘积
    【Go】Go语言的%d,%p,%v等占位符的使用
    【Java】commons-lang3中DateUtils类方法介绍
    【Java】时间戳与Date相互转换
    【Linux】crontab定时任务用用法
    【Java】使用Lambda排序集合
    【PBFT】拜占庭容错
  • 原文地址:https://www.cnblogs.com/sumsen/p/2837669.html
Copyright © 2011-2022 走看看