MySQL的CASE WHEN用法case when有两个用法 , 一个是行转列 , 一个是更改列的值
在数据分析时经常要用到行转列,此时如果使用case when就会方便很多,case when的熟练使用程度,可以说的判断对SQL操作水平的评定方法之一 。
case when的语句在某种程度上可以理解成是if函数的简便逻辑写法,主要有两种模式:
模式一(简单变量表达式):
模式二(搜索变量表达式):
通常情况下,模式二的方式会更加灵活,在工作中也推荐使用模式二的写法(特别是如果有使用Tableau等软件制作参数的时候,语法跟模式二的相同的) 。
看具体的例子:
如果现在想要看不同学生的平均分和每个课程的成绩,并且不同课程按列进行显示,要怎么操作呢?
这个时候,使用case when就很方便了
当然了,也可以使用case when对学生的成绩进行优良中差的判断,这个在工作中的使用场景也是蛮多的,如果有兴趣的同学可以自己试着练习看看 。
这个就是case when在MySQL中的常用用法 。
mysql中的case语句怎么用简单 CASE 函数:
CASE input_expression
WHEN when_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
END
CASE 搜索函数:
CASE
WHEN Boolean_expression THEN result_expression
[ ...n ]
[
ELSE else_result_expression
END
比如:
第一种用法:
SELECT name,
CASE WHEN birthday'1981' THEN 'old'
WHEN birthday'1988' THEN 'yong'
ELSE 'ok' END YORN
FROM lee
第二种用法:
SELECT NAME, CASE name
WHEN 'sam' THEN 'yong'
WHEN 'lee' THEN 'handsome'
ELSE 'good'END as oldname
FROM lee
MYSQL case when 的两种用法 第一种:简单Case函数
【mysql中case怎么 mysql case语句的使用】case 列名
when条件值1then选择项1
when条件值2then选项2.......
else默认值end
第二种:Case搜索函数
case
when列名= 条件值1then选择项1
when列名=条件值2then选项2.......
else默认值 end
比较: 两种格式mysql中case怎么,可以实现相同的功能 。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式 。
还有一个问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略 。如下面这个例子:
CASE col
WHEN col_1 IN ( 'a', 'b') THEN '第一类'
WHEN col_1 IN ('a')THEN '第二类'
ELSE'其他' END
这个语句中,满足条件a永远不会返回第二类 , 因为按顺序发现a在第一类的时候查询就已经结束mysql中case怎么了 。所以case无法用于一个东西在一个分类里有不同的属性的条件 。
case when 好处很明显就是非常易于看懂,相比实现同样条件用复杂的自连接查询,在逻辑上很容易看懂(自连接查询在不同的情况下可能会有BUG) 。
mysql中case怎么的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于mysql case语句的使用、mysql中case怎么的信息别忘了在本站进行查找喔 。
推荐阅读
- 用python爬虫爬微博评论,python抓取微博评论
- java长代码优化,java怎么优化代码减少内存
- 设置虚拟机linuxip,设置虚拟机ip
- 电脑键盘怎么打出音节,电脑键盘怎么打出音节符号
- Linux用户命令找不到 linux有些命令找不到
- 有线无线路由器怎么设置,有线路由器设置步骤图解
- jqueryinput重置,jqueryinput赋值
- 鸿蒙对小米有什么好处,鸿蒙对小米的影响
- php连接数据库csdn PHP连接数据库数据填写不完整