oracle中怎么实现求和-创新互联

本篇文章为大家展示了oracle中怎么实现求和,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联主营潮州网站建设的网络公司,主营网站建设方案,重庆App定制开发,潮州h5成都小程序开发搭建,潮州网站营销推广欢迎潮州等地区企业咨询

有一张工资表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中怎么实现求和,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联成都网站设计公司行业资讯频道。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页名称:oracle中怎么实现求和-创新互联
文章分享:http://scyanting.com/article/hdecs.html