case whensql语句case when什么意思

case when  时间:2022-02-23  阅读:()

sql怎么使用case when

Case具有两种格式。简单Case函数和Case搜索函数。 –简单Case函数 CASE sex WHEN ’1′ THEN ’男’ WHEN ’2′ THEN ’女’ ELSE ’其他’ END –Case搜索函数 CASE WHEN sex = ’1′ THEN ’男’ WHEN sex = ’2′ THEN ‘女’ ELSE ‘其他’ END 这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。 –比如说,下面这段SQL,将永远无法得到“第二类”这个结果 CASE WHEN col_1 IN (‘a’, ‘b’) THEN ’第一类’ WHEN col_1 IN (‘a’) THEN ’第二类’ ELSE’其他’ END 一,已知数据按照另外一种方式进行分组,分析。 有如下数据:(用国家名作为Primary Key) 国家(country)人口(population) 中国 600 美国 100 加拿大 100 英国 200 法国 300 日本 250 德国 200 墨西哥 50 印度 250 根据这个国家人口数据,统计亚洲和北美洲的人口数量。应该得到下面这个结果。 洲 人口 亚洲 1100 北美洲 250 其他 700 想要解决这个问题,生成一个带有洲的View,是一个解决方法...Case具有两种格式。简单Case函数和Case搜索函数。 –简单Case函数 CASE sex WHEN ’1′ THEN ’男’ WHEN ’2′ THEN ’女’ ELSE ’其他’ END –Case搜索函数 CASE WHEN sex = ’1′ THEN ’男’ WHEN sex = ’2′ THEN ‘女’ ELSE ‘其他’ END 这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。 –比如说,下面这段SQL,将永远无法得到“第二类”这个结果 CASE WHEN col_1 IN (‘a’, ‘b’) THEN ’第一类’ WHEN col_1 IN (‘a’) THEN ’第二类’ ELSE’其他’ END 一,已知数据按照另外一种方式进行分组,分析。 有如下数据:(用国家名作为Primary Key) 国家(country)人口(population) 中国 600 美国 100 加拿大 100 英国 200 法国 300 日本 250 德国 200 墨西哥 50 印度 250 根据这个国家人口数据,统计亚洲和北美洲的人口数量。应该得到下面这个结果。 洲 人口 亚洲 1100 北美洲 250 其他 700 想要解决这个问题,生成一个带有洲的View,是一个解决方法,但是这样很难动态的改变统计的方式。如果使用Case函数,SQL代码如下: SELECT SUM(population), CASE country WHEN ‘中国’ THEN ‘亚洲’ WHEN ’印度’ THEN ’亚洲’ WHEN ’日本’ THEN ’亚洲’ WHEN ’美国’ THEN ’北美洲’ WHEN ‘加拿大’ THEN ’北美洲’ WHEN ’墨西哥’ THEN ‘北美洲’ ELSE ‘其他’ END FROM Table_A GROUP BY CASE country WHEN ’中国’ THEN ’亚洲’ WHEN ‘印度’ THEN ’亚洲’ WHEN ’日本’ THEN ‘亚洲’ WHEN ’美国’ THEN ’北美洲’ WHEN ’加拿大’ THEN ’北美洲’ WHEN ‘墨西哥’ THEN ’北美洲’ ELSE ’其他’ END; 同样也可以用这个方法来判断工资的等级,并统计每一等级的人数。SQL代码如下; SELECT CASE WHEN salary <= 500 THEN ’1′ WHEN salary > 500 AND salary <= 600 THEN ’2′ WHEN salary > 600 AND salary <= 800 THEN ’3′ WHEN salary > 800 AND salary <= 1000 THEN ’4′ ELSE NULL END salary_class, COUNT(*) FROM Table_A GROUP BY CASE WHEN salary <= 500 THEN ’1′ WHEN salary > 500 AND salary <= 600 THEN ’2′ WHEN salary > 600 AND salary <= 800 THEN ’3′ WHEN salary > 800 AND salary <= 1000 THEN ’4′ ELSE NULL END; 二,用一个SQL语句完成不同条件的分组。 有如下数据 国家(country)性别(sex)人口(population) 中国 1 340 中国 2 260 美国 1 45 美国 2 55 加拿大 1 51 加拿大 2 49 英国 1 40 英国 2 60 按照国家和性别进行分组,得出结果如下 国家 男 女 中国 340 260 美国 45 55 加拿大 51 49 英国 40 60 普通情况下,用UNION也可以实现用一条语句进行查询。但是那样增加消耗(两个Select部分),而且SQL语句会比较长。下面是一个是用Case函数来完成这个功能的例子 SELECT country, SUM( CASE WHEN sex = ’1′ THEN population ELSE 0 END), –男性人口 SUM( CASE WHEN sex = ’2′ THEN population ELSE 0 END) –女性人口 FROM Table_A GROUP BY country; 这样使用Select,完成对二维表的输出形式,充分显示了Case函数的强大。 三,在Check中使用Case函数。 在Check中使用Case函数在很多情况下都是非常不错的解决方法。可能有很多人根本就不用Check,建议在看过下面的例子之后也尝试一下在SQL中使用Check。 举个例子,公司A有个规定,女职员的工资必须高于1000块。如果用Check和Case来表现的话,如下所示 CONSTRAINT check_salary CHECK ( CASE WHEN sex = ’2′ THEN CASE WHEN salary > 1000 THEN 1 ELSE 0 END ELSE 1 END = 1 ) 如果单纯使用Check,如下所示 CONSTRAINT check_salary CHECK ( sex = ’2′ AND salary > 1000 ) 女职员的条件倒是符合了,男职员的数据就无法输入了。

sql语句case when什么意思

case when 就是case when 判断 case when 当满足条件 then 。。。 when ...... then ... 可以写很多种情况,直到结束

iON Cloud七月促销适合稳定不折腾的用户,云服务器新购半年付8.5折,洛杉矶/圣何塞CN2 GT线路,可选Windows系统

iON Cloud怎么样?iON Cloud今天发布了7月份优惠,使用优惠码:VC4VF8RHFL,新购指定型号VPS半年付或以上可享八五折!iON的云服务器包括美国洛杉矶、美国圣何塞(包含了优化线路、CN2 GIA线路)、新加坡(CN2 GIA线路、PCCW线路、移动CMI线路)这几个机房或者线路可供选择,有Linux和Windows系统之分,整体来说针对中国的优化是非常明显的,机器稳定可靠,比...

PIGYUN:美国联通CUVIPCUVIP限时cuvip、AS9929、GIA/韩国CN2机房限时六折

pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...

hostkvm:7折优惠-香港VPS韩国VPS,8折优惠-日本软银、美国CN2 GIA、新加坡直连VPS

hostkvm本月对香港国际线路的VPS、韩国CN2+bgp线路的VPS正在做7折终身优惠,对日本软银线路、美国CN2 GIA线路、新加坡直连线路的VPS进行8折终身优惠促销。所有VPS从4G内存开始支持Windows系统,当然主流Linux发行版是绝对不会缺席的!官方网站:https://hostkvm.com香港国际线路、韩国,7折优惠码:2021summer日本、美国、新加坡,8折优惠码:2...

case when为你推荐
renderpartialrender farm 是什么意思listviewitemListView具有多种item布局shoujiao求【叫兽】的简介微信如何只发文字微信朋友圈怎样只发文字databasenamefoxpro中的的命令格式comexception5种常见的Exception!comexceptionapro exception是什么意思云输入法如何使用QQ云输入法?微信网页版登陆首页微信网页版怎么用?微信网页版怎么登陆?za是哪个国家的ci是在哪个国家产生的?哪个国家开始流行的
厦门虚拟主机 in域名注册 山东vps 北京vps主机 堪萨斯服务器 美国主机论坛 免费ftp空间 sockscap 2017年黑色星期五 网页背景图片 qq数据库 e蜗牛 圣诞促销 申请个人网站 网游服务器 支付宝扫码领红包 idc查询 香港新世界中心 江苏双线服务器 新睿云 更多