您现在的位置是:首页 > 正文

MySQL if else的格式_mysql if--else

2024-02-01 02:25:55阅读 4

case具有两种格式。简单case函数和case搜索函数。

48304ba5e6f9fe08f3fa1abda7d326ab.png

--简单case函数

case sex

when '1' then '男'

when '2' then '女’

else '其他' end

--case搜索函数

case when sex = '1' then '男'

when sex = '2' then '女'

else '其他' end

48304ba5e6f9fe08f3fa1abda7d326ab.png

这两种方式,可以实现相同的功能。简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式。

还有一个需要注重的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。

--比如说,下面这段sql,你永远无法得到“第二类”这个结果

case when col_1 in ('a','b') then '第一类'

when col_1 in ('a') then '第二类'

else '其他' end

下面实例演示:

3、将sum与case结合使用,可以实现分段统计。

如果现在希望将上表中各种性别的人数进行统计,sql语句如下:

48304ba5e6f9fe08f3fa1abda7d326ab.png

SQL> select

2 sum(case u.sex when 1 then 1 else 0 end)男性,

3 sum(case u.sex when 2 then 1 else 0 end)女性,

4 sum(case when u.sex <>1 and u.sex<>2 then 1 else 0 end)性别为空

5 from users u;

男性 女性 性别为空

---------- ---------- ----------

3 2 0

--------------------------------------------------------------------------------

SQL> select

2 count(case when u.sex=1 then 1 end)男性,

3 count(case when u.sex=2 then 1 end)女,

4 count(case when u.sex <>1 and u.sex<>2 then 1 end)性别为空

5 from users u;

男性 女 性别为空

---------- ---------- ----------

3 2 0

48304ba5e6f9fe08f3fa1abda7d326ab.png

网站文章

  • Js - 模板字面量

    背景 参考资料 JavaScript高级程序设计(第4版) ES6指北【7】——从回调地狱到Promise和async/await JS异步编程之Promise详解和使用总结

    2024-02-01 02:25:51
  • Git和Bitbucket入门之代码上传

    作为一名代码渣,虽然代码写得很烂,但多多少少也写了些了。听说大牛们都在用Bitbucket,瞻仰代码时却连git clone都不会也有点说不过去了,因此,我要入门!参考:http://blog.jobbole.com/53573/ (中文) https://confluence.atlassian.com/bitbucket/bitbucket-cloud-documen

    2024-02-01 02:25:21
  • MySQL在Mybatis新增后返回主键

    通过Mybatis将数据新增到MySQL时,有时需要获取到当前新增的数据的主键。尤其是主子表的数据在新增时,字表需要保存主表的主键作为外键。

    2024-02-01 02:25:16
  • Gin 从零开始搭建gin项目框架

    Gin 从零开始搭建gin项目框架

    欢迎大家访问我的博客http://blog.ayla1688.cool 原文连接http://blog.ayla1688.cool/archives/413.html 一、创建项目 新建文件夹 tes...

    2024-02-01 02:25:09
  • Java String常用方法

    Java String常用方法

    2024-02-01 02:25:00
  • nacos 入门(1)

    https://blog.csdn.net/u010046908/article/details/85260717转载于:https://www.cnblogs.com/maohuidong/p/11505047.html

    2024-02-01 02:24:32
  • Day11 类和对象的创建

    Day11 类和对象的创建

    1

    2024-02-01 02:24:25
  • Linux Golang+Vscode环境配置

    Linux Golang+Vscode环境配置

    1. Vscode下载与配置 1.1 官网下载.deb文件 https://code.visualstudio.com 进入下载deb文件所在文件夹,并打开终端 运行 sudo dpkg -i + 文...

    2024-02-01 02:24:19
  • TS

    TS

    什么是TypeScript? TypeScript是javascript的类型的超集,它可以通过编译工具编译成纯的javascript,并且运行在任何浏览器上。 接下来,开始学习typescript,看看它究竟是什么? TypeScript它有一个很特别的地方就是类型系统(其实个人觉得可以看作是对变量或函数 添加了约束的方式) 对于变量的类型定义,还有函数的类型定义能让我们一...

    2024-02-01 02:23:49
  • Kotlin之使用协程编写高效的并发程序

    Kotlin之使用协程编写高效的并发程序

    协程属于Kotlin中非常有特色的一项技术,因为大部分编程语言中是没有协程这个概念的。那么什么是协程呢?它其实和线程有点相似,可以简单地将它理解成**一种轻量级的线程**。我们之前学习的**线程是重量...

    2024-02-01 02:23:42