Oracle中的decode在mysql中实现

本文详细介绍如何将Oracle数据库中的DECODE函数转换为MySQL数据库中的IF函数,包括使用IF进行条件判断、SUM函数汇总以及CASE WHEN THEN ELSE END的用法。通过具体示例,展示如何在分组查询中应用这些转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle中的decode函数转换成mysql中的语法

题目:
原本的数据格式
在这里插入图片描述

转换成如下格式
在这里插入图片描述

select grade, 
sum(decode(level,"好","1","0"))  good, 
sum(decode(level,"中","1","0")) middle, 
sum(decode(level,"坏","1","0")) bad
from student group by grade
 select grade,
 sum(if(student.level="好","1","0")) good, 
 sum(if(student.level="中","1","0")) middle,
 sum(if(student.level="坏","1","0")) bad 
 from student group by grade

使用if来代替decode;
比较大小:sign(a,b)返回0,1,-1分别是a=b; a>b; a<b

还有case when then else end 用法
例如:

CASE WHEN sex = '1' THEN '男' 
         WHEN sex = '2' THEN '女' 
ELSE '其他' END 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值