当前位置: 首页 > 编程笔记 >

oracle横向纵向求和代码实例

吴举
2023-03-14
本文向大家介绍oracle横向纵向求和代码实例,包括了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

下面再看一个实例

有一张表test 如下, (NO 学生编号 ,cj 成绩)

NO name KM CJ
001 张三 语文 80
001 张三 数学 86
001 张三 英语 75
002 李四 语文 78
002 李四 数学 85
002 李四 英语 78

写了以下语句来算每项个科目的总分,

select decode(grouping(name),1,'总分',name) 姓名, 
sum(decode(km, '数学',cj,0)) 数学,
sum(decode(km, '英语',cj,0)) 英语, 
sum(decode(km, '语文',cj,0)) 语文,
sum(cj) 总成绩 
from test group by rollup(name)

结果如下:

姓名 数学 英语 语文 总成绩
李四 85  78  78  241
张三 86  75  80  241
总分 171 153 158  482

总结

以上就是本文关于oracle横向纵向求和代码实例的全部内容,希望对大家有所帮助。感兴趣的朋友可以参阅:ORACLE SQL语句优化技术要点解析 、oracle数据库导入TXT文件方法介绍 、ORACLE多条件统计查询的简单方法 等。有什么问题可以随时留言,欢迎大家交流讨论。

 类似资料:
  • 我正在关注w3c学校关于制作幻灯片网页的教程。 对我来说,唯一不同的要求是,我有相同垂直分辨率的横向和纵向图像(1280x720和420x720)。 当我加载肖像图像时,它们的比例会大得多,因为图像仅受最大宽度的限制。实际上,我希望边界是垂直最大高度,所以当我循环通过它们时,高度是恒定的。 问题是,当我在上指定“最大高度”并删除“最大宽度”时。幻灯片容器,然后将图像左对齐放置在页面上。所以看起来我

  • 本文向大家介绍python实现图片横向和纵向拼接,包括了python实现图片横向和纵向拼接的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python实现图片横向和纵向拼接的具体代码,供大家参考,具体内容如下 直接上代码: 结果: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 在纵向滚动的UITableView的每一个section里面嵌套横向滚动的UITableView。其中横向滑动的UITableView,是重新建了一个类来重写UITableView,将其旋转90°。适用环境:Xcode 4.5, iOS 5.0 以上。 [Code4App.com]

  • 本文向大家介绍bootstrap table实现横向合并与纵向合并,包括了bootstrap table实现横向合并与纵向合并的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 先上html代码 在上js代码 实现效果: 下面是横向合并,相对来说就比较简单了,只需要对table进行一些设置即可 实现效果: 以上就是本文的全

  • 我使用Owl Carousel在带有Javascript和jQuery的Carousel中显示图像。我有肖像和风景图片,还有CSS: 横向图像遵守宽度的100%限制,全图显示在屏幕上;肖像图像不符合100%的高度限制,图片显示在一个或两个屏幕上,需要向下滚动。我希望纵向图片能够调整大小,并在横向屏幕上完全显示,就像我希望横向图片能够在纵向屏幕上完全显示一样。 我用CSS尝试了最大高度和最大宽度的解

  • 给定一个包含纵向页面的现有 PDF 文件,我该如何以编程方式(使用 .NET)处理该文件,以便在横向页面上生成具有相同内容的新文件。 新页面应该充分利用可用的横向宽度。页面数量可能会增加,因为现有的纵向页面可能不适合一个横向页面。 背景故事:我们使用Google Sheets REST API来生成pdf文档。如果有很多列,文档可能会很宽。不幸的是,Google Drive REST API总是以