当前位置: 首页 > news >正文

百度seo网站惠州百优做网站小程序熊掌号

百度seo网站,惠州百优做网站小程序熊掌号,软件开发模型是对软件开发过程的一种规范描述,注册个公司大概要多少钱目录 一、简单CASE WHEN函数#xff1a;二、CASE WHEN条件表达式函数三、常用场景 场景1#xff1a;不同状态展示为不同的值场景2#xff1a;统计不同状态下的值场景3#xff1a;配合聚合函数做统计场景4#xff1a;CASE WHEN中使用子查询场景5#xff1a;经典行转列二、CASE WHEN条件表达式函数三、常用场景 场景1不同状态展示为不同的值场景2统计不同状态下的值场景3配合聚合函数做统计场景4CASE WHEN中使用子查询场景5经典行转列结合max聚合函数 一、简单CASE WHEN函数 CASE SCORE WHEN A THEN 优 ELSE 不及格 END# 使用 IF 函数进行替换 IF(SCORE A, 优, 不及格)THEN后边的值与ELSE后边的值类型应一致否则会报错。 如下 CASE SCORE WHEN ‘A’ THEN ‘优’ ELSE 0 END’优’和0数据类型不一致则报错 [Err] ORA-00932: 数据类型不一致: 应为 CHAR, 但却获得 NUMBER 简单CASE WHEN函数只能应对一些简单的业务场景而CASE WHEN条件表达式的写法则更加灵活。 二、CASE WHEN条件表达式函数 类似JAVA中的IF ELSE语句。 格式 CASE WHEN condition THEN result[WHEN...THEN...]ELSE resultENDSQL语言演示 CASE WHEN SCORE A THEN 优WHEN SCORE B THEN 良WHEN SCORE C THEN 中 ELSE 不及格 END# 等同于 CASE scoreWHEN A THEN 优WHEN B THEN 良WHEN C THEN 中ELSE 不及格 ENDcondition是一个返回布尔类型的表达式 如果表达式返回true则整个函数返回相应result的值 如果表达式皆为false则返回ElSE后result的值如果省略了ELSE子句则返回NULL。 三、常用场景 前言 students表的DDL -- auto-generated definition create table students (stu_code varchar(10) null,stu_name varchar(10) null,stu_sex int null,stu_score int null );students表的DML # 其中stu_sex字段0表示男生1表示女生。 INSERT INTO students (stu_code, stu_name, stu_sex, stu_score) VALUES (xm, 小明, 0, 88); INSERT INTO students (stu_code, stu_name, stu_sex, stu_score) VALUES (xl, 夏磊, 0, 55); INSERT INTO students (stu_code, stu_name, stu_sex, stu_score) VALUES (xf, 晓峰, 0, 45); INSERT INTO students (stu_code, stu_name, stu_sex, stu_score) VALUES (xh, 小红, 1, 89); INSERT INTO students (stu_code, stu_name, stu_sex, stu_score) VALUES (xn, 小妮, 1, 77); INSERT INTO students (stu_code, stu_name, stu_sex, stu_score) VALUES (xy, 小一, 1, 99); INSERT INTO students (stu_code, stu_name, stu_sex, stu_score) VALUES (xs, 小时, 1, 45);energy_test表的DDL -- auto-generated definition create table energy_test (e_code varchar(2) null,e_value decimal(5, 2) null,e_type int null );energy_test表的DML # 其中E_TYPE表示能耗类型0表示水耗1表示电耗2表示热耗 INSERT INTO energy_test (e_code, e_value, e_type) VALUES (北京, 28.50, 0); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (北京, 23.50, 1); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (北京, 28.12, 2); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (北京, 12.30, 0); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (北京, 15.46, 1); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (上海, 18.88, 0); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (上海, 16.66, 1); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (上海, 19.99, 0); INSERT INTO energy_test (e_code, e_value, e_type) VALUES (上海, 10.05, 0);p_price表的DDL -- auto-generated definition create table p_price (p_price decimal(5, 2) null comment 价格,p_level int null comment 等级,p_limit int null comment 阈值 )comment 电能耗单价表;p_price表的DML INSERT INTO test.p_price (p_price, p_level, p_limit) VALUES (1.20, 0, 10); INSERT INTO test.p_price (p_price, p_level, p_limit) VALUES (1.70, 1, 30); INSERT INTO test.p_price (p_price, p_level, p_limit) VALUES (2.50, 2, 50);user_col_comments 表的DDL -- auto-generated definition create table user_col_comments (column_name varchar(50) null comment 列名,comment varchar(100) null comment 列的备注 );user_col_comments 表的DML INSERT INTO test.user_col_comments (column_name, comment) VALUES (SHI_SHI_CODE, 设施编号); INSERT INTO test.user_col_comments (column_name, comment) VALUES (SHUI_HAO, 水耗); INSERT INTO test.user_col_comments (column_name, comment) VALUES (RE_HAO, 热耗); INSERT INTO test.user_col_comments (column_name, comment) VALUES (YAN_HAO, 盐耗); INSERT INTO test.user_col_comments (column_name, comment) VALUES (OTHER, 其他);场景1不同状态展示为不同的值 有分数scorescore60返回不及格score60返回及格score80返回优秀 # 有分数scorescore60返回不及格score60返回及格score80返回优秀 SELECTstu_name,(CASE WHEN stu_score 60 THEN 不及格WHEN stu_score 60 AND stu_score 80 THEN 及格WHEN stu_score 80 THEN 优秀ELSE 异常 END) AS REMARK FROM students;注意如果你想判断score是否null的情况WHEN score null THEN ‘缺席考试’这是一种错误的写法正确的写法应为CASE WHEN score IS NULL THEN 缺席考试 ELSE 正常 END 场景2统计不同状态下的值 现老师要统计班中有多少男同学多少女同学并统计男同学中有几人及格女同学中有几人及格要求用一个SQL输出结果。其中stu_sex字段0表示男生1表示女生。 SELECTsum(CASE WHEN STU_SEX 0 THEN 1 ELSE 0 END) AS MALE_COUNT,sum(CASE WHEN STU_SEX 1 THEN 1 ELSE 0 END) AS FEMALE_COUNT,sum(CASE WHEN STU_SCORE 60 AND STU_SEX 0 THEN 1 ELSE 0 END) AS MALE_PASS,sum(CASE WHEN STU_SCORE 60 AND STU_SEX 1 THEN 1 ELSE 0 END) AS FEMALE_PASS FROMstudents;输出结果如下 注意点 用的是 sum 而不是countTHEN 1 ELSE 0的位置不能改变否则会有以下效果 sum(CASE WHEN stu_sex 0 THEN 1 ELSE 0 END) AS 男性,改变了 sum(CASE WHEN stu_sex 0 THEN 0 ELSE 1 END) AS 女性字符 ‘0’ 和 数值 0使用 都是一样的 场景3配合聚合函数做统计 现要求统计各个城市总共使用了多少水耗、电耗、热耗使用一条SQL语句输出结果 有能耗表如下其中E_TYPE表示能耗类型0表示水耗1表示电耗2表示热耗 select e_code,sum(case when e_type 0 then e_value else 0 end) as 水耗,sum(case when e_type 1 then e_value else 0 end) as 电耗,sum(case when e_type 2 then e_value else 0 end) as 热耗 from energy_test group by e_code;输出结果如下 场景4CASE WHEN中使用子查询 根据城市用电量多少计算用电成本。假设电能耗单价分为三档根据不同的能耗值使用相应价格计算成本。 当能耗值小于10时使用P_LEVEL0时的P_PRICE的值能耗值大于10小于30使用P_LEVEL1时的P_PRICE的值… energy_test 我修改了e_type 为1的值的两条数据的e_value。 select e_code, e_value,(CASE WHEN e_value (SELECT p_limit FROM p_price WHERE p_level 0)THEN (SELECT p_price FROM p_price WHERE p_level 0)WHEN e_value (SELECT p_limit FROM p_price WHERE p_level 0) AND e_value (SELECT p_limit FROM p_price WHERE p_level 1)THEN (SELECT P_PRICE FROM p_price WHERE P_LEVEL 1)WHEN e_value (SELECT p_limit FROM p_price WHERE p_level 1) AND e_value (SELECT p_limit FROM p_price WHERE p_level 2)THEN (SELECT p_price FROM p_price WHERE P_LEVEL 2) end ) as price from energy_test where e_type 1;输出结果如下 场景5经典行转列结合max聚合函数 行转列中 SUM作用无用但是select后得跟聚合函数不能去掉sum。直接写max或者min也行。 selectmax(case when column_name SHI_SHI_CODE then comment else end) as SHI_SHI_CODE_COMMENT,max(case when column_name SHUI_HAO then comment else end) as SHUI_HAO_COMMENT,max(case when column_name RE_HAO then comment else end) as RE_HAO_COMMENT,max(case when column_name YAN_HAO then comment else end) as YAN_HAO_COMMENT,max(case when column_name OTHER then comment else end) as OTHER_COMMENT from user_col_comments;输出结果如下
http://www.dnsts.com.cn/news/159500.html

相关文章:

  • 济南网站制作厂家网站建设技术网站
  • 山东德州网站建设外包网站开发安全吗
  • 免费制作app生成器网站建设网站图片
  • php网站开发电子书wordpress音乐页面
  • 台北网站建设厦门网站建设68
  • 定期更新网站福州网站建设新闻
  • 成都武侯区建设厅官方网站洛阳网站建设报价
  • 外贸网站哪家好免费发布招工的平台
  • 合山市网站做网站编程要学什么
  • 怎么让自己的网站通过域名访问不了虎扑体育网体育
  • 贷款网站模板中铁建设集团有限公司招投标平台
  • 学校网站建设情况报告网站手机pc同步
  • 纯静态企业网站百度收录快速提交
  • 好看的中文网站设计百度企业信用
  • 怎样创造网站wordpress 创建数据表
  • 骏域网站建设腾讯云做网站选哪个
  • 网站建设的流程及步骤涟水建设局网站
  • 二级域名可以做网站wordpress personal主题
  • 乐清网站的建设百度推广怎么做的
  • 仿网站百度会怎么做鄂伦春网站建设
  • 网站建设标志头像图片永久免费crm客户管理系统
  • 哪些网站上可以做租车郑州发布会最新消息
  • 中山市中国建设银行网站深圳公共资源交易中心
  • 电子政务网站建设公司上海新建公司
  • 做网站的费用计入什么费用无锡手机网站建设
  • 怎么查一个网站是什么程序做的江西网站建设哪家专业
  • 如何建立网站管理系统微网站 小程序 区别
  • 做网站的属于什么工作类型推介网手机版
  • 东莞营销型网站建设公司长沙百度网站推广
  • 网站策划和网站制作网站维护 收录