case函数 (适合区间,>,<判断)
   case when 判断表达式 then
        when 判断表达式 then
        .....
   end
 
  select deptno,count(*) total,
   sum(case when sal>=2000 then 1
       end) great,
   sum(case when sal<2000 then 1
       end) least
  from emp
  where deptno is not null
  group by deptno;
 
//统计部门中男人数和女人数
 create table j20(
  id number(7),
  name varchar(20),
  sex char(1), --'M'或'F'
  deptno number(7));
 
 select deptno,
        sum(decode(sex,'M',1,0)) as male,
        sum(decode(sex,'F',1,0)) as female
 from j20
 group by deptno;
 
 select deptno,
        sum(case when sex='M' then 1
            else 0 end) as male,
        sum(case when sex='F' then 1
            else 0 end) as female
 from j20
 group by deptno;
 //基于EMP表查询部门编号,工资1000以内人数,
 1000-2000人数,2000以上人数
 select deptno,
    sum(case when sal<1000 then 1
             else 0
        end) "1000以内",
    sum(case when sal>=1000 and sal<2000 then 1
             else 0
        end) "1000-2000",
    sum(case when sal>=2000 then 1
             else 0
        end) "2000以上"
 from emp
 group by deptno;
 
 //查询调薪结果,规则:MANAGER涨10%,CLERK涨20%,
  其他人涨5%
 select empno,ename,job,sal,
        decode(job,'MANAGER',sal*1.1,
                   'CLERK',sal*1.2,
                   sal*1.05) "加薪之后"
 from emp;

高级函数-case的更多相关文章

  1. MySQL高级函数case的使用技巧----与sum结合实现分段统计

    case 函数 CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... WHEN conditionN THEN resu ...

  2. javascript高级函数

    高级函数 安全的类型检测 js内置的类型检测并非完全可靠,typeof操作符难以判断某个值是否为函数 instanceof在多个frame的情况下,会出现问题. 例如:var isArray = va ...

  3. js 高级函数 之示例

    js 高级函数作用域安全构造函数 function Person(name, age)    {        this.name = name;        this.age = age;     ...

  4. 浅谈JS中的高级函数

    在JavaScript中,函数的功能十分强大.它们是第一类对象,也可以作为另一个对象的方法,还可以作为参数传入另一个函数,不仅如此,还能被一个函数返回!可以说,在JS中,函数无处不在,无所不能,堪比孙 ...

  5. php一些高级函数方法

    PHP高级函数 1.call_user_func (http://php.net/manual/zh/function.call-user-func.php) 2.get_class (http:// ...

  6. Python函数式编程(二):常见高级函数

    一个函数的参数中有函数作为参数,这个函数就为高级函数. 下面学习几个常见高级函数. ---------------------------------------------------------- ...

  7. Python函数式编程(一):高级函数

    首先有一个高级函数的知识. 一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数. def add(x, y, f): return f(x) + f(y) 当我们调用add(-, , abs ...

  8. Day11 Python基础之装饰器(高级函数)(九)

    在python中,装饰器.生成器和迭代器是特别重要的高级函数   https://www.cnblogs.com/yuanchenqi/articles/5830025.html 装饰器 1.如果说装 ...

  9. Oracle特有函数 case when decode exists 分页rownum

    select * from EMP eselect * from dept dselect * from salgrade s--Oracle特有函数 case whenselect case 2 w ...

随机推荐

  1. js中“使用”el表达式

    在说相关内容前,一定要先熟悉jsp运行原理: http://blog.csdn.net/lmsnju/article/details/4813488 http://hi.baidu.com/mingf ...

  2. rabbitMQ学习笔记(七) RPC 远程过程调用

    关于RPC的介绍请参考百度百科里的关于RPC的介绍:http://baike.baidu.com/view/32726.htm#sub32726 现在来看看Rabbitmq中RPC吧!RPC的工作示意 ...

  3. HDU 4133

    注意题目中的一句话:If a number m has bigger evaluating value than all the numbers smaller than it... 这让我重新想过反 ...

  4. lua 中string字符串的使用(string.len, string.char)

    table.keys 返回指定表格中的全部键. 格式: keys = table.keys(表格对象) 使用方法演示样例: local t = {a = 1, b = 2, c = 3} local ...

  5. 数据可视化利器pyechart和matplotlib比较

    python中用作数据可视化的工具有多种,其中matplotlib最为基础.故在工具选择上,图形美观之外,操作方便即上乘. 本文着重说明常见图表用基础版matplotlib和改良版pyecharts作 ...

  6. Fragment状态保存

    这篇博文是对官方API Demo的FragmentRetainInstanceSupport.java的学习.路径在android-sdk-macosx/extras/android/support/ ...

  7. iOS_第3方类库MBprogressHUD

    1,将下载好的第3方类库MBprogressHUD源代码包增加到project(事实上就是一个.h和.m文件) 2,进入project的Build Phases,将源代码包里面的所有.m文件所有加入到 ...

  8. Log4net根据日志等级输出到不同文件

    <?xml version="1.0" encoding="utf-8"?> <configuration> <configSec ...

  9. <video> controlsList

    Audio/Video Updates in Chrome 58 <video controls controlsList="nofullscreen nodownload norem ...

  10. Fragment的理解

    1.生命周期    启动Fragment时: onAttachonCreateonCreateViewonViewCreatedonActivityCreatedonStartonResume 启动后 ...