oracle 小计 排序,使用SQL实现小计,合计以及排序

--说明:个人学习笔记,实现小计合计显示,分组按BANK_ID+OP_DATE升序排序

复制代码 代码如下:

--测试数据CREATE TABLE #TB(ID VARCHAR(10),BANK_ID VARCHAR(10),OP_DATE VARCHAR(10),OPERATOR_NO VARCHAR(20),AMT DECIMAL(10,2))

INSERT #TB SELECT '1111','001','20121210',1234567,111.00

UNION ALL SELECT '2222','002','20121210',1234567,222.00

UNION ALL SELECT '3333','001','20121112',1234567,250.00

UNION ALL SELECT '4444','002','20121110',1234567,330.00

UNION ALL SELECT '5555','001','20121210',1234567,300.00

UNION ALL SELECT '6666','002','20121112',1234567,150.00

GO

--查询SELECT A.ID

,A.BANK_ID

,A.AMT

,B.OP_DATE

,B.OPERATOR_NO

FROM

(

(SELECT

ID=CASE

WHEN GROUPING(BANK_ID)=1 THEN '合计'

WHEN GROUPING(ID)=1 THEN '小计'

ELSE ID END

,BANK_ID

,SUM(AMT) AMT

,ORDER_SIGN1=GROUPING(BANK_ID),ORDER_SIGN2=BANK_ID

,ORDER_SIGN3=GROUPING(ID)

FROM #TB

GROUP BY BANK_ID,ID WITH ROLLUP

HAVING GROUPING(ID)=1

UNION ALL --先得出表的统计,再加上表中的数据

SELECT ID

,BANK_ID

,AMT

,ORDER_SIGN1=0,ORDER_SIGN2=BANK_ID

,ORDER_SIGN3=0

FROM #TB) A

LEFT JOIN --为了显示出OP_DATE、OPERATOR_NO

(SELECT ID

,OP_DATE

,OPERATOR_NO

FROM #TB) B ON A.ID = B.ID

) ORDER BY ORDER_SIGN1,ORDER_SIGN2,ORDER_SIGN3,OP_DATE

GO

--删除测试DROP TABLE #TB

/*--测试结果

ID BANK_ID AMT OP_DATE OPERATOR_NO

3333 001 250.00 20121112 1234567

5555 001 300.00 20121210 1234567

1111 001 111.00 20121210 1234567

小计 001 661.00 NULL NULL

4444 002 330.00 20121110 1234567

6666 002 150.00 20121112 1234567

2222 002 222.00 20121210 1234567

小计 002 702.00 NULL NULL

合计 NULL 1363.00 NULL NULL

--*/

时间: 2013-06-09

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245306.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

猜数大小编程c语言_猜数正确编程

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include "time.h"#include "stdlib.h"#include "stdio.h"main(){char c;clock_t start,end;time_t a,b;double var;int i,guess;srand(time(NULL));printf("do you want to play it.(y or n) …

python人脸识别门禁_用Python做人脸识别

之前用facenet做了一个人脸识别的Demo,所以在此记录一下。但因为我的水平十分有限,疏漏之处请多见谅。1,这个流程大致是先用mtcnn检测人脸位置,得到一个人脸的bounding box。2,然后用opencv根据上一个bounding box把人脸裁剪出来&…

linux thrift 安装目录,Linux下安装Thrift

Linux下安装Thrift0.11.0版本下载地址:http://mirrors.hust.edu.cn/apache/thrift/0.11.0/thrift-0.11.0.tar.gz执行如下命令安装Thrift依赖:apt-get install automake bison flex g git libboost1.55 libevent-dev libssl-dev libtool make pkg-config1…

微信电脑客户端登陆_电脑端的微信只能开一个?简单操作就能随意开

微信已经成为工作和生活的必备交流工具,每个人几乎都拥有微信号,而且有些人还会注册两个或多个,用以区分工作和私人。但同时登陆多个账号却成为了难题,现在手机上多开已经很方便,而在电脑上默认只能登录一个&#xff0…

基于单片机的自动追日系统设计_基于单片机的自动浇花系统的设计

龙源期刊网http://www.qikan.com.cn基于单片机的自动浇花系统的设计作者:吴蓓张阳来源:《现代信息科技》2018年第03期摘要:为了解决人们生活中由于工作繁忙或无人照料而带来的浇花难的问题,本文基于AT89C51单片机设计了一款自动浇…

linux系统遵循以下哪项协议,实务(互联网技术)通信工程师考试习题库

第一章数据通信基础一、单选题1、对于一个物理网络,数据的最大传输单元是由(协议)决定的。2、在当前的数据通信网络中,存在以下交换方式(电路方式、分组方式、帧方式、信元方式)。3、与电路交换方式相比,分组交换方式的优点是(提高了线路的有…

vue 直接访问静态图片_vue中本地静态图片路径写法

这篇文章给大家介绍了vue中本地静态图片路径写法及Vue.js中引用图片路径的方式,需要的朋友参考下吧 这里写图片描述 需求:如何components里面的index.vue怎样能把assets里面的图片拿出来。 1.在img标签里面直接写上路径: 2.利用数组保存再循环输出: {{ item.title }} data:…

win10下装黑苹果双系统_win10远程双系统重装电脑维修7黑苹果笔记本安装做虚拟机服务mac8...

时间很宝贵,如果您的网速满足需求,我们装机时间不超过30分钟哦联系我们专业/靠谱/安全/快捷专业电脑医生优秀团队只服务为您!组装品牌电脑电脑游戏电脑卡顿中毒故障系统电脑虚拟/电脑多开/开机硬件不成功不收费!统统我来解决聚集于电脑各种症状专业远程在线电脑修复电脑问题分分…

linux svn同步到本地目录,LINUX中SVN服务的搭建与实现SVN 自动同步到web目录,SVN自动启动...

一,下载相关软件:[rootlocalhost test]# wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz[rootlocalhost test]# wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz二,安装及配置&#xff1a…

485 九针头_张元英安宥真还是孩子,手臂还有疫苗接种痕迹,九针头太吓人

点击右上角“关注”,了解韩娱等最新娱乐消息Izone四月携迷你二辑《HEART*IZ》回归,成绩喜人,不仅拿到了六个一位,在Oricon第一周的周专辑排行榜中位居1位,是唯一进入Oricon周专辑排行榜前五名的韩国专辑。不仅如此&…

结构体内元素不确定_氮长叶,磷长果,那么生物菌肥能长啥?看完终于不纠结了...

农民朋友们都知道,“庄稼一枝花,全靠肥当家”,肥料对于作物产量的高低起着决定性因素。蔬菜的产量、品质、病虫害、早衰、死亡、落花、落果、干尖干叶等都与肥料有着密切的关系。如今市面上肥料种类五花八门,有氮磷钾肥、中微量元…

linux中iptable中端口,Linux如何打开iptables中的端口

举例:开放10000端口的解决步骤如下:1、修改/etc/sysconfig/iptables文件,增加如下一行:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT重启 iptablesservice iptables restart2、重启防火墙…

umi权限路由_Umi 小白纪实(三)—— 震惊!路由竟然如此强大!

在《Umi 小白纪实(一)》中有提到过简单的路由配置和使用,但这只是冰山一角借用一句广告词,Umi 路由的能量,超乎你的想象一、基本用法Umi 的路由根结点是全局 layout src/layouts/index.js路由会将相应的页面组件映射到上面的 props.children…

openssl 添加自定义算法_GitHub:用PyTorch实现17种深度强化学习算法

【新智元导读】深度强化学习已经在许多领域取得了瞩目的成就,并且仍是各大领域受热捧的方向之一。本文推荐一个用 PyTorch 实现了 17 种深度强化学习算法的教程和代码库,帮助大家在实践中理解深度 RL 算法。深度强化学习已经在许多领域取得了瞩目的成就&…

node linux脚本,用Shell脚本快速搭建Ubuntu下的Nodejs开发环境

nodejs的确是很火,以前倒腾过,但是从来没有认真记录下什么。在ubuntu下搭建它的开发环境尝尝鲜,有一个捷径,它能让系统自动帮你安装所需要的东西,我们生成一段shell脚本,让它来完成以下工作:安装…

sync是同步还是非同步_音视频是怎么保持同步的?(四)

今天我们来继续讲音视频是怎么保持同步的。常用同步策略前面已经说了,实现音视频同步,在播放时,需要进行选定一个重要参考时钟,读取帧上的时间戳,同时企业根据的参考时钟来动态管理调节播放。它是目前已知的是&#xf…

openssl 测试加密卡_OpenSSL自带的aes_128_ecb加密函数——密文长度测试

OpenSSL自带的aes_128_ecb加密函数——密文长度测试发表于2017年11月29日 阅读人数(3608)近来要用到对称加密,就是使用了openssl的库给文件加密,选择的128位的分块加密,对称加密有分块加密和流加密两种。在实验中要考虑文件的长度所以关注到了…

linux命令行安装谷歌浏览器,Linux(ubuntu) 三行代码搞定安装谷歌浏览器

.NET微信公众号开发-4.0公众号消息处理一.前言 微信公众平台的消息处理还是比较完善的,有最基本的文本消息,到图文消息,到图片消息,语音消息,视频消息,音乐消息其基本原理都是一样的,只不过所post的xml数据有所差别,在处理消息之前,我们 ...2、面向对象以…

电脑下面的任务栏怎么取消隐藏_电脑工具栏怎么调到下面

任务栏的隐藏与显示很简单,有时我们在需要时可以灵活的将其隐藏,还原,下面为大家介绍一下电脑工具栏怎么调到下面的方法。电脑工具栏怎么调到下面一、直接使用鼠标拖拽的方式移动“任务栏”用鼠标左键按住任务栏的空白区域不放,拖…

uiswitch样式_Swift - 表格UITableView的plain、grouped两种样式详解(附分组头悬停)

在表格 tableview初始化的时候我们可以指定需要使用的 UITableViewStyle样式,可用的样式一共有两种:.plain和 .grouped。下面分别对它们做介绍。一、plain模式1,默认样式在 plain模式下,如果 tableview有多个 section(分区、分组)…