参见这篇博客:https://blog.csdn.net/rongtaoup/article/details/82183743

case when then else end 语句用于查询满足多种条件的情况,类似java中的if...else,还有的就是用于进行行转列的查询,这个是放在select 子句后面的,是充当的是字段的作用。

具体用法就是:分为两种,一种是简单的函数形式,另一种就是表达式的形式。

其含义解释:

简单的函数形式

case 字段 when 值 then 结果 else 其他情况 end;

表达式的形式

case when 字段=值(这里写表达式,例如 score=80) then 结果 else 其他情况 end;

简单的函数形式
select case score when 'a' then '优秀' else '良好' end from student; 表达式形式
select case when score between and 90 then '优秀' else '良好' end from student;

在case里面还可以嵌套子查询等复杂用法。

case when 可以把它当成一个字段,其实就是select 后面需要查询出来的一个字段,对其可以使用聚合函数,别名,去重,等操作。

mysql中case when then end的含义和用法的更多相关文章

  1. MySQL中case when的基本用法总结

    MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...

  2. MySQL中 IFNULL、NULLIF和ISNULL函数的用法

    mysql 中 ifnull().nullif().isnull()函数的用法讲解: 一.IFNULL(expr1,expr2)用法: 假如expr1不为NULL,则 IFNULL() 的返回值为ex ...

  3. MySQL中使用SHOW PROFILE命令分析性能的用法整理(配合explain效果更好,可以作为优化周期性检查)

    这篇文章主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下   show profile是由Jerem ...

  4. mysql中bit_count和bit_or函数的含义

    翻阅mysql手册时,看到有个示例使用了bit_or方法来去除重复的数据,一开始没看明白,后来看明白之后感觉非常巧妙.示例要实现的功能就是计算每月有几天有访问,先把示例摘录在这里. 1 2 3 4 5 ...

  5. mysql中 case when的使用

    SELECT a.hsid, a.house_code, a.sale_date, a.pjid, COUNT( sdid ) AS num, b.hsid, b.pscid, b.hscode, b ...

  6. MySQL中CASE的使用

    语法说明: 方式一: CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result ...] [ELSE ...

  7. MySql 中 case when then else end 的用法

    解释: SELECT                case                   -------------如果    when sex='1' then '男' ---------- ...

  8. MYSQL中case when then else end 用法

    条件语句 delimiter \\CREATE PROCEDURE proc_if ()BEGIN      declare i int default 0;   if i = 1 THEN      ...

  9. mysql中explain用法和结果的含义

    explain  select * from user explain select * from user explain extended select * from user explain e ...

随机推荐

  1. Python 中的 getopt 模块

    sys 模块:可以得到用户在命令行输入的参数 getopt模块:专门用来处理输入的命令行参数 用户在命令行中输入参数,sys模块得到该参数,getopt模块处理该参数 sys模块: import sy ...

  2. vscode如何使用命令面板

    vscode如何使用命令面板 方法/步骤     首先找到vscode.   进入,打开页面.   找到查看.   打开找到命令面板.   选择打开,可以看到命令.   下拉还有多个,以及快捷键.   ...

  3. java单例模式实现

    1.最基本的单例模式 /** * @author LearnAndGet * @time 2018年11月13日 * 最基本的单例模式 */ public class SingletonV1 { pr ...

  4. layui相关总结

    表格操作实例1: https://sun_zoro.gitee.io/layuitableplug/testTableCheckboxDisabled?v0.1.9

  5. HashMap 的实现原理解析(转载)

    HashMap 概述 HashMap 是基于哈希表的 Map 接口的非同步实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.此类不保证映射的顺序,特别是它不保证该顺序恒久不 ...

  6. stringstream 类型转换

    stringstream可以吞下不同的类型,然后吐出不同的类型. 这样可以实现int,string,double等类型的转换 #include<sstream> using namespa ...

  7. ModelAndView及页面转发

    1.ModelAndView springMVC中返回值如果是ModelAndView,则其既包含模型数据信息,也包含视图信息. 在处理方法中可以使用ModelAndView对象的方法添加模型数据:a ...

  8. C# 反转单向链表

    static void Main(string[] args) { Mynode mynode0 = new Mynode(); Mynode mynode1 = new Mynode(); Myno ...

  9. UITableViewCell点击不能push解决方法

    一般情况下不能push是因为当前控制器没有导航控制器,造成不能push的情况. 解决方法如下: - (void)tableView:(UITableView *)tableView didSelect ...

  10. div与焦点事件

    div正常情况下是无法获得焦点的,所以其blur方法和focus方法都是没有用的,解决方案如下: <div tabindex="0"></div> 添加ta ...