在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

sql中如何使用case when

101次阅读
没有评论

共计 1876 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 sql 中如何使用 case when,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

sql 中 case when 的用法

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

1、简单 case 函数

case sex
 when  1  then  男 
 when  2  then  女’ else  其他  end

2、case 搜索函数

case when sex =  1  then  男 
 when sex =  2  then  女 
 else  其他  end /span

这两种方式,可以实现相同的功能。简单 case 函数的写法相对比较简洁,但是和 case 搜索函数相比,功能方面会有些限制,比如写判定式。(免费学习视频教程推荐:mysql 视频教程)

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

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

case when col_1 in (a , b) then  第一类 
 when col_1 in (a) then  第二类 
 else  其他  end

实例演示:

首先创建一张 users 表,其中包含 id,name,sex 三个字段,表内容如下:

select * from users
 
 ID NAME SEX
---------- -------------------- ----------
1  张一  
2  张二  1
3  张三  
4  张四  
5  张五  2
6  张六  1
7  张七  2
8  张八  1

1、上表结果中的 sex 是用代码表示的,希望将代码用中文表示。可在语句中使用 case 语句:

select u.id,u.name,u.sex,
 (case u.sex
 when 1 then  男 
 when 2 then  女 
 else  空的 
 end
 ) 性别
 from users u;
 ID NAME SEX  性别
--------------------------------------- -------------------- ---------- ------
 1  张一   空的
 2  张二  1  男
 3  张三   空的
 4  张四   空的
 5  张五  2  女
 6  张六  1  男
 7  张七  2  女
 8  张八  1  男 

2、如果不希望列表中出现 sex 列,语句如下:

select u.id,u.name,
 (case u.sex
 when 1 then  男 
 when 2 then  女 
 else  空的 
 end
 ) 性别
 from users u;
 
 ID NAME  性别
--------------------------------------- -------------------- ------
 1  张一   空的
 2  张二   男
 3  张三   空的
 4  张四   空的
 5  张五   女
 6  张六   男
 7  张七   女
 8  张八   男 

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

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

select
 sum(case u.sex when 1 then 1 else 0 end) 男性,
 sum(case u.sex when 2 then 1 else 0 end) 女性,
 sum(case when u.sex  1 and u.sex 2 then 1 else 0 end) 性别为空
 from users u;
 
  男性   女性   性别为空
---------- ---------- ----------
 3 2 0
 
--------------------------------------------------------------------------------
SQL  select
 count(case when u.sex=1 then 1 end) 男性,
 count(case when u.sex=2 then 1 end) 女,
 count(case when u.sex  1 and u.sex 2 then 1 end) 性别为空
 from users u;
 
  男性   女   性别为空
---------- ---------- ----------
 3 2 0

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“sql 中如何使用 case when”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计1876字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 欧美1314性欧美| 无码超乳爆乳中文字幕久久 | 四虎影永久地址www 四虎影永久在线高清免费 四虎影永久在线观看精品 四虎影永久在线观看网址 四虎影院.com | 免费午夜在线视频 | 衣服被扒开强摸双乳18禁网站 | 亚洲男人在线 | 色综合久久久久综合99 | 欧美中文娱乐网 | 国产精品18久久久久久麻辣 | 四虎影视库永久在线地址 | 在线观看成人免费视频播放 | 黄网站欧美内射 | 一区二区网站在线观看 | 免费观看四虎精品成人 | 亚洲天堂在线播放 | 国产亚洲视频在线观看 | 深夜福利小视频 | 波多野结衣的av一区二区三区 | 免费一区二区三区四区五区 | 久久久久久久久久福利 | 妺妺窝人体色www在线小说 | 欧美成人交tv免费观看 | 成人欧美一区二区三区视频xxx | 国模冰莲自慰肥美胞极品人体图 | 久久网精品视频 | 亚洲国产精品无码第一区二区三区 | 国产在线观看高清精品 | 免费特级黄色片 | 色综合久久久 | 无码人妻一区二区三区在线视频 | 女人高潮内射99精品 | 综合区 小说区 图片区 | 国产精品无码不卡一区二区三区 | 久久综合中文字幕佐佐木希 | 国产区精品福利在线社区 | 亚洲国产精品视频在线观看 | 自拍偷自拍亚洲精品被多人伦好爽 | a亚洲欧美中文日韩在线v日本 | 韩国美女主播19vip | 无码视频一区二区三区 | 无码少妇一区二区 |