SQL case when 2种用法
一、 基本表达式
(case when {条件表达式} then {结果表达式} when {条件表达式} then {结果表达式} when {条件表达式} then {结果表达式} else {结果表达式} end) as 字段名
要注意不要漏了else 和end
二、 用法
1. 创建一个新字段,其取值由另外一个字段的取值确定。
例如,有如下数据,需要创建一个新列“评价”,根据考试成绩确定其评价结果,
成绩>=90, 优秀
90>成绩>=70, 良好
70>成绩>=60, 及格
成绩<60, 不及格
姓名 | 成绩 | 评价 |
张三 | 91 | |
李四 | 80 | |
王二 | 73 | |
大哥 | 66 | |
小弟 | 52 |
SQL语法如下:
Select (case when 成绩>=90 then ‘优秀’when 成绩>=70 then ‘良好’when 成绩>=60 then ‘及格’else ’不及格‘ end) as 评价
2. 将长表数据转化为宽表数据
有以下表哥数据,需要将各个科目的值放到字段上去
姓名 | 科目 | 成绩 |
张三 | 语文 | 91 |
张三 | 数学 | 80 |
张三 | 英语 | 73 |
张三 | 物理 | 96 |
张三 | 化学 | 52 |
形成如下格式:
姓名 | 语文 | 数学 | 英语 | 物理 | 化学 |
张三 | 91 | 80 | 73 | 96 | 52 |
SQL 语法为:
Select sum(case when 科目=‘语文’ then 成绩 else 0 end)as 语文成绩,sum(case when 科目=‘数学’ then 成绩 else 0 end)as 数学成绩,sum(case when 科目=‘语文’ then 成绩 else 0 end)as 英语成绩,sum(case when 科目=‘数学’ then 成绩 else 0 end)as 物理成绩
from table 成绩表
group by 姓名;
SQL case when 2种用法相关推荐
- SQL case when then 的用法
sql case when then else end case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when'1'then'男' when'2' ...
- oracle中SQL语句ge的用法,Oracle中SQL语句的几种用法
在诊断数据库系统性能的过程中,总会涉及到跟踪效率低下的SQL语句,Oracle数据库10g包含一种新的实用程序trcsess,它可以让您基于会话ID或模块名称之类的条件,有选择地从大量跟踪文件中抽取出 ...
- SQL alter 的几种用法
1 select * from Teachers 2 alter table Teachers add Position nvarchar(50) /* 增加列 */ 3 alter table Te ...
- mysql 查询后根据值的不同进行判断与修改,SQL中的条件判断语句(case when zhen)用法
需求: mysql 查询后根据值的不同进行判断与修改 语法结构: SQL中的条件判断语句(case when zhen)用法 SELECT A.品号,属性, CASE ...
- Sql case when 用法实例详解
sql中case when还是比较常见的用法.经常会出现一段时间不用,相关写法与语法又记不太清楚的情况.干脆就记一下,以备不时之需. 1.准备数据 现在有一张表xxx,里面有一个字段叫basicinf ...
- SQL CASE WHEN用法
SQL CASE WHEN用法 CASE 可能是 SQL 中被误用最多的关键字之一.虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法.例如,你可以在 WHERE 子句中使用 CASE . ...
- SQL、LINQ、Lambda 三种用法(转)
SQL.LINQ.Lambda 三种用法 颜色注释: SQL LinqToSql Lambda QA 1. 查询Student表中的所有记录的Sname.Ssex和Class列. select sna ...
- 标准SQL的update语句三种用法
标准SQL的update语句三种用法 一.环境: MySQL-5.0.41-win32 Windows XP professional 二.建立测试环境: DROP TABLE IF EXIS ...
- SQL中的条件判断语句(case when zhen)用法
简介: case具有两种格式.简单case函数和case搜索函数.这两种方式,可以实现相同的功能.简单case函数的写法相对比较简洁,但是和case搜索函数相比,功能方面会有些限制,比如写判定式.还有 ...
最新文章
- android 默认中文时区,修改android默认系统语言为中文和时区
- feign 回退原因_0503-Hystrix保护应用-feign的hystrix支持
- 出口埃塞俄比亚,有哪些需要注意?
- [转]Oracle update用例
- Qt修改QSS中的qlineargradient属性,实现颜色渐变
- 七.激光SLAM框架学习之A-LOAM框架---速腾Robosense-16线雷达室内建图
- python分片的步长_Python的分片操作
- deep learning for symbolic mathematics论文梳理
- Maven构建Web项目
- 从Hive导入数据到ES
- php date()
- 2020中兴捧月算法大赛参赛总结
- Eclipse中出现无法找到Maven包Active Maven Profiles (comma separated)
- hdu 4565(推公式、矩阵快速幂)
- 公司最大的内卷,是“管理错位”
- 怎样做一个软件注册程序
- Hive实现数据文件导入与分析
- 使用命令符关闭笔记本自带键盘命令
- flume1.9学习笔记
- sql 纵向求和_SQL语句(行列转换以及字符串求和)
热门文章
- 6.1 范数最小解,右逆,零空间映射矩阵
- 【机器学习】集成学习知识点总结一
- python列表功能默写_Python list(列表)功能详解
- JEPaas代码_((列表,表单)刷新列表||刷新表单数据
- python以缩进对齐的方式划分语句块_python以什么划分语句块
- Android 自己定义View须要重写ondraw()等方法
- nginx利用image_filter动态生成缩略图
- oVirt Reports Portal 3.4 added to ovirt-engine
- 用户 Outlook 2007 附件突然不能预览,在国外网站找了解决方案。
- C#/Net代码精简优化技巧(1)