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

    解释:

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

    --- 用法一:

    1 SELECT 
    2             CASE WHEN STATE = '1' THEN '成功' 
    3                  WHEN STATE = '2' THEN '失败'
    4             ELSE '其他' END  
    5             FROM  SYS_SCHEDULER

    ---用法二:

    1 SELECT STATE
    2             CASE WHEN '1' THEN '成功' 
    3                  WHEN '2' THEN '失败'
    4             ELSE '其他' END  
    5             FROM  SYS_SCHEDULER

    例子:

     1 有员工表empinfo 
     2 ( 
     3 Fempno varchar2(10) not null pk, 
     4 Fempname varchar2(20) not null, 
     5 Fage number not null, 
     6 Fsalary number not null 
     7 ); 
     8 假如数据量很大约1000万条;写一个你认为最高效的SQL,用一个SQL计算以下四种人: 
     9 fsalary>9999 and fage > 35 
    10 fsalary>9999 and fage < 35 
    11 fsalary <9999 and fage > 35 
    12 fsalary <9999 and fage < 35 
    13 每种员工的数量; 
    14 select sum(case when fsalary > 9999 and fage > 35
    15 then 1
    16 else 0end) as "fsalary>9999_fage>35",
    17 sum(case when fsalary > 9999 and fage < 35
    18 then 1
    19 else 0
    20 end) as "fsalary>9999_fage<35",
    21 sum(case when fsalary < 9999 and fage > 35
    22 then 1
    23 else 0
    24 end) as "fsalary<9999_fage>35",
    25 sum(case when fsalary < 9999 and fage < 35
    26 then 1
    27 else 0
    28 end) as "fsalary<9999_fage<35"
    29 from empinfo;
    View Code
  • 相关阅读:
    Python 编程笔记(小白初学篇)
    博客园设置好看的主题!站在巨人的肩膀上眺望远方!!
    Matlab 画地图之 m_map
    SSO+PHS 同步问题修正解决
    从已删除邮箱copy数据到活动邮箱
    微软AD相关操作的免费工具
    phpize是什么
    apache的bin目录下的apxs有什么作用? PHP模块加载运行方式
    docker
    sed 命令
  • 原文地址:https://www.cnblogs.com/anche/p/9038802.html
Copyright © 2011-2022 走看看