zoukankan      html  css  js  c++  java
  • MySql 中 case when then else end 的用法

     转:

    MySql 中 case when then else end 的用法

    解释:

    SELECT            
        case                   -------------如果
        when sex='1' then '男' -------------sex='1',则返回值'男'
        when sex='2' then '女' -------------sex='2',则返回值'女'  
        else 0                 -------------其他的返回'其他’
        end                    -------------结束
    from   sys_user            --------整体理解: 在sys_user表中如果sex='1',则返回值'男'如果sex='2',则返回值'女' 否则返回'其他’

    ---用法一:
    SELECT
                CASE WHEN STATE = '1' THEN '成功'
                     WHEN STATE = '2' THEN '失败'
                ELSE '其他' END  
                FROM  SYS_SCHEDULER
    ---用法二:    
    SELECT STATE
                CASE WHEN '1' THEN '成功'
                     WHEN '2' THEN '失败'
                ELSE '其他' END  
                FROM  SYS_SCHEDULER

    列子:

    有员工表empinfo
    (
    Fempno varchar2(10) not null pk,
    Fempname varchar2(20) not null,
    Fage number not null,
    Fsalary number not null
    );
    假如数据量很大约1000万条;写一个你认为最高效的SQL,用一个SQL计算以下四种人:
    fsalary>9999 and fage > 35
    fsalary>9999 and fage < 35
    fsalary <9999 and fage > 35
    fsalary <9999 and fage < 35
    每种员工的数量;
    select sum(case when fsalary > 9999 and fage > 35
    then 1
    else 0end) as "fsalary>9999_fage>35",
    sum(case when fsalary > 9999 and fage < 35
    then 1
    else 0
    end) as "fsalary>9999_fage<35",
    sum(case when fsalary < 9999 and fage > 35
    then 1
    else 0
    end) as "fsalary<9999_fage>35",
    sum(case when fsalary < 9999 and fage < 35
    then 1
    else 0
    end) as "fsalary<9999_fage<35"
    from empinfo;

  • 相关阅读:
    矩阵论基础 3.1初等变换
    最优化理论与方法 9 二次规划
    最优化理论与方法 10 罚函数法
    矩阵论基础 2.5 用Matlab实现矩阵的基本运算
    最优化理论与方法 目录
    UG OPEN API编程基础 12UIStyler对话框
    第十四章 达朗伯原理 1
    矩阵论基础 2.3 方阵的几种运算
    矩阵论基础 3.5 用Matlab求解线性方程组
    测试一下博客的html代码机制
  • 原文地址:https://www.cnblogs.com/libin6505/p/10593970.html
Copyright © 2011-2022 走看看