mysql仿oracle的decode效果查询
更新时间:2011年04月23日 23:30:37 作者:
今天遇到群里发的一个问题,觉得有点意思,发上来看一下
以下代码在MYSQL中测试通过,MSSQL应该能跑通,未测试。
复制代码 代码如下:
#创建表如下
create temporary table tmp (a int, b int ,c int);
insert into tmp VALUES (1,10,1),(10,10,2),(10,100,2);
#mysql执行
select sum(case when c = '1' then A else B end) from tmp
#oracle执行
select sum(decode(c,'1',a,b)) from tmp
#普通联合查询
select sum(d) from
(
select a as d from tmp where c=1
union
select b as d from tmp where c=2
)
您可能感兴趣的文章:
- Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
- MySQL中使用or、in与union all在查询命令下的效率对比
- Mysql联合查询UNION和Order by同时使用报错问题的解决办法
- 数据库查询排序使用随机排序结果示例(Oracle/MySQL/MS SQL Server)
- MySQL查询优化:连接查询排序limit(join、order by、limit语句)介绍
- oracle,mysql,SqlServer三种数据库的分页查询的实例
- MYSQL随机抽取查询 MySQL Order By Rand()效率问题
- mysql中提高Order by语句查询效率的两个思路分析
- MySql带OR关键字的多条件查询语句
相关文章
MySQL ERROR 1045 (28000): Access denied for user ''root''@''
这篇文章主要介绍了MySQL ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 的原因分解决办法的相关资料,需要的朋友可以参考下2016-05-05mysql sum(if())和count(if())的用法说明
这篇文章主要介绍了mysql sum(if())和count(if())的用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
最新评论