oracle求和代码示例

 更新时间:2017年09月29日 16:26:18   作者:yaopan1989  
这篇文章主要介绍了oracle求和代码示例,简单易懂,具有一定参考价值。需要的朋友可以了解下。

有一张工资表SALARY如下, (NO 员工编号 ,MONEY 工资)

NO    NAME     ITEM       MONEY
001    张三        工资        80
001    张三        补贴        86
001    张三        奖金        75
002    李四        工资        78
002    李四        补贴        85
002    李四        奖金        78

求每个人的总工资以及所有人的总工资,结果如下表:

结果如下:

姓名    工资      补贴    奖金    总工资
李四     780       850      780     2410
张三     800       860      750     2410
总计    1580     1710     1530   4820

SQL语句:

SELECT DECODE(GROUPING(NAME), 1, '总计', NAME) 姓名,
SUM(DECODE(ITEM, '工资', MONEY, 0))  工资,
SUM(DECODE(ITEM, '补贴', MONEY, 0))  补贴,
SUM(DECODE(ITEM, '奖金', MONEY, 0))  奖金,
SUM(MONEY)  总工资
FROM  SALARY
GROUP  BY  ROLLUP(NAME);

其中:GROUPING函数接受一列,列值为空返回1,非空返回0,只能在使用ROLLUP或CUBE的查询中使用;
DECODE(ITEM,  '工资',  MONEY, 0) 是指ITME的值与‘工资'比较,如果相等返回MONEY,不等返回0

总结

以上就是本文关于oracle求和代码示例的内容了,希望对大家有所帮助。感兴趣的朋友可以浏览:oracle 数据库启动阶段分析   、 oracle 虚拟专用数据库详细介绍 、 oracle数据库导入TXT文件方法介绍 等。感谢大家对脚本之家网站的支持。如果你有什么问题或者想要了解的,可以随时给我们留言,小编会及时回复的。

相关文章

  • Oracle中手动删除数据库教程

    Oracle中手动删除数据库教程

    这篇文章主要介绍了Oracle中手动删除数据库教程,本文给出了详细步骤以及清除ASM数据库的步骤,需要的朋友可以参考下
    2014-10-10
  • oracle中all、any函数用法与区别说明

    oracle中all、any函数用法与区别说明

    在Oracle中,any()表示括号内任何一个条件,只要有一个满足即可;而all()表示所有的条件都满足才可以
    2023-04-04
  • Oracle中的半联结和反联结详解

    Oracle中的半联结和反联结详解

    这篇文章主要介绍了Oracle中的半联结和反联结详解,也称半连接和反连接,其实就是in、exists,需要的朋友可以参考下
    2014-07-07
  • oracle 重置sys密码的方法介绍

    oracle 重置sys密码的方法介绍

    近期安装完oracle 10g后,竟发现将安装时设置的系统密码忘记。在同事的帮助下通过一下方法解决,遇到同样问题的朋友可以参考
    2012-11-11
  • oracle SCN跟TIMESTAMP之间转换

    oracle SCN跟TIMESTAMP之间转换

    本文将详细介绍oracle SCN跟TIMESTAMP之间转换,需要的朋友可以参考下
    2012-11-11
  • Oracle的四道经典面试题分享

    Oracle的四道经典面试题分享

    这篇文章主要给大家介绍了关于Oracle的四道经典面试题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • oracle错误代码大全(超详细)

    oracle错误代码大全(超详细)

    本篇文章是对oracle错误代码进行了详细的总结与分析,需要的朋友参考下
    2013-05-05
  • oracle 11g导出数据时报ORA 1455错误的处理方法

    oracle 11g导出数据时报ORA 1455错误的处理方法

    oracle 11g导出数据时报ORA 1455错误,原因是由于导出的该用户的表可能存在空数据表,下面是正确的导出步骤
    2014-08-08
  • 装Oracle用PLSQL连接登录时不显示数据库的解决

    装Oracle用PLSQL连接登录时不显示数据库的解决

    这篇文章主要介绍了装Oracle用PLSQL连接登录时不显示数据库的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Oracle集群 diagwait的问题记录

    Oracle集群 diagwait的问题记录

    这篇文章主要给大家介绍了关于Oracle集群diagwait的问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01

最新评论