case when语句,用于计算条件列表并返回多个可能结果表达式之一。
CASE 具有两种格式:
1、简单 case 函数:

case input_expression
    when when_expression then result_expression
        [ ...n ]
    [
        else else_result_expression
    end

2、case 搜索函数:

case
    when Boolean_expression then result_expression
        [ ...n ]
    [
        esle else_result_expression
    end    

参数:
input_expression

    是使用简单 CASE 格式时所计算的表达式。Input_expression 是任何有效的SQL表达式。

when when_expression

  使用简单 CASE 格式时 input_expression 所比较的简单表达式。when_expression 是任意有效的SQL表达式。input_expression 和每个 when_expression 的数据类型必须相同,或者是隐性转换。

[ ...n ]占位符

  可以使用多个 when when_expression then result_expression 子句或 WHEN boolean_expression THEN result_expression 子句

then result_expression

  当 input_expression = when_expression 取值为 true,或者 boolean_expression 取值为 true 时返回的表达式。
result expression 是任意有效的sql表达式。

esle else_result_expression

  当比较运算取值不为 TRUE 时返回的表达式。如果省略此参数并且比较运算取值不为 TRUE,CASE 将返回 NULL 值。else_result_expression 是任意有效的sql表达式。Else_result_expression 和所有 result_expression 的数据类型必须相同,或者必须是隐性转换。

when Boolean_expression

  使用 case 搜索格式时所计算的布尔表达式。boolean_expression 是任意有效的布尔表达式。

结果类型

从 result_expressions 和可选 else_result_expression 的类型集合中返回最高的优先规则类型
创建要操作函数使用的表:

drop table if exists test_list;
create table test_list(
id int primary key auto_increment comment 'id自增',
age int not null comment'年龄',
name ) not null,
sex ' comment'性别1男,2是女'

)engine=MyISAM default charset=utf8 comment'测试查询函数表';
,,),(,,),(,,),(,,),(,,);

简单 case函数实例:

-- 统计年龄,姓名条件的
 then age else null end) as age_num,count(case name when '张五' then name end) as name_num from test_list;

case 搜索函数实例:

-- 统计年龄,姓名条件的
  then age else null end) as age_num,count(case when name='张五' then name end) as name_num from test_list;

排序使用case when 搜索函数:

-- case 排序
 then sex  end desc;

mysql-函数CASE WHEN 统计多个字段的更多相关文章

  1. hive中使用case、if:一个region统计业务(hive条件函数case、if、COALESCE语法介绍:CONDITIONAL FUNCTIONS IN HIVE)

    前言:Hive ql自己设计总结 1,遇到复杂的查询情况,就分步处理.将一个复杂的逻辑,分成几个简单子步骤处理. 2,但能合在一起的,尽量和在一起的.比如同级别的多个concat函数合并一个selec ...

  2. laravel DB 执行 mysql函数或者字段

    使用laravel框架中的DB查询mysql数据库的时候,综合遇到执行mysql函数或者,自定义字段,一般情况下DB会把传入的函数当做字段处理 方法如下: DB:raw('函数或者字段'); DB:w ...

  3. Mysql,Oracle使用rollup函数完成行列统计

    时间 2014-02-25 00:05:38  ITeye-博客 原文  http://53873039oycg.iteye.com/blog/2021445 主题 MySQLOracle数据库 昨天 ...

  4. mysql控制流程函数(case,if,ifnull,nullif)

    1.case...when... 用法 参考:http://www.cnblogs.com/qlqwjy/p/7476533.html CASE value WHEN [compare-value] ...

  5. Mysql - 函数

    Mysql提供的函数是在是太多了, 很多我都见过, 别说用了. 园子里面, 有人弄了一个比较全的. MYSQL函数 我这里会将他写的完全拷贝下来, 中间会插入一些自己项目中使用过的心得 一.数学函数 ...

  6. 第五章 MySQL函数

    一.数学函数 (1) 绝对值函数:ABS(x) ABS(x) 用于返回 x 的绝对值 mysql> SELECT ABS(2), ABS(-2.3), ABS(-33); +--------+- ...

  7. 【转】mysql函数

    MySQL函数 MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括 ...

  8. MySql按日期进行统计

    1 数据库字段pk_time(Varchar) 当天的数据 SELECT * FROM 表 WHERE date(fk_time) = curdate(); 当月的数据 SELECT *FROM 表 ...

  9. mysql学习【第4篇】:MySQL函数和编程

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第4篇]:MySQL函数 官方文档 : 官方文档 常用函数 分类: 数学函数 , ...

随机推荐

  1. dbgrid数据显示和数据源不同

    dbgrid数据显示和数据源不同,在ODBC配置时如下设置,去掉勾

  2. Delphi临界区的使用

    在开发一个平板点餐软件后台订单打印程序时,使用线程订单打印,为防打印阻塞使用临界区. 类: type MYPARA=record title:pchar; //标题 str:pchar; flag:i ...

  3. springmvc 前端 发ajax请求的几种方式

    一.传json单值或对象 1.前端 var data = {'id':id,'name':name}; $.ajax({ type:"POST", url:"user/s ...

  4. jquery.jconfirm兼容IE6

    因目标用户还在大量使用IE6(想吐CAO),只能做向下兼容,但之前使用的这个插件在IE6上并不支持.所以做了些处理才行. 以下为解决方法: IE6不支持position: fixed,所以需要对CSS ...

  5. [IB配置]PeopleSoft如何重置网关属性administrator密码

    当您在登陆主菜单>PeopleTools>继承代理程序>配置>网关>网关设置属性在尝试打开网关属性配置时候,需要输入账号:administrator以及密码,有时候在升级 ...

  6. Android之IPC(aidl)

    IPC(Inter-Process Conmunication) 进程间通讯 在同一进程中,各个组件进行通信是十分方便的,普通的函数调用就可以解决:但是,对于处于不同进程中的组件来说,要进行通信,就需 ...

  7. Python基础之常用模块(三)

    1.configparser模块 该模块是用来对文件进行读写操作,适用于格式与Windows ini 文件类似的文件,可以包含一个或多个节(section),每个节可以有多个参数(键值对) 配置文件的 ...

  8. Objectiv-c - UICollectionViewLayout自定义布局-瀑布流

    最近刚写的一个简单的瀑布流. 整体思路可能不是很完善. 不过也算是实现效果了. 高手勿喷 思路: 自定义UICollectionViewLayout实际上就是需要返回每个item的fram就可以了. ...

  9. ueditor编辑器使用总结

    ueditor使用小结 一.简介 ueditor是百度编辑器,官网地址:http://ueditor.baidu.com/website/ 完整的功能演示,可以参考:http://ueditor.ba ...

  10. 是什么让javascript变得如此奇妙

    What Makes Javascript Weird...and AWESOME -> First Class Functions -> Event-Driven Evironment ...