oracle sum 小计,Oracle分组小计、总计示例(grouping sets的使用)

2023-05-16

1.首先创建一个表

create table TE

(

ID        VARCHAR2(2),

T_CODE    VARCHAR2(4),

T_NAME    VARCHAR2(4),

T_AMOUNT  INTEGER,

T_DEPT    VARCHAR2(4),

T_PROJECT VARCHAR2(4),

T_TYPE    VARCHAR2(1)

)

2.录入数据如下:

insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)

values ('1', '1', '1', 10, '总部', '90', '0');

insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)

values ('2', '2', '2', 20, '总部', '70', '0');

insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)

values ('3', '3', '3', 30, '分1', '60', '0');

insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)

values ('4', '4', '4', 40, '分1', '50', '0');

insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)

values ('5', '5', '5', 50, '分2', '40', '0');

insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)

values ('6', '6', '6', 60, '分2', '30', '0');

3.查询全表查看

select * from te;

6e0c36ea02e3d12ce4a244e16bf75866.png

4.用t.t_dept, t.t_project进行分组查询

select t.t_dept, t.t_project, sum(t.t_amount) from te t

group by t.t_dept, t.t_project;

结果如下:

1dfa9ada5e41b003f8db458ad81ebeb3.png

5.用t.t_dept, t.t_project,并使用t.t_dept来做小计

select t.t_dept, t.t_project, sum(t.t_amount) from te t

group by grouping sets ((t.t_dept, t.t_project), t.t_dept);

结果如下:

77ae21d740d44f0276fa5f4b5203c7e8.png

6.用t.t_dept, t.t_project,并使用t.t_dept来做小计,并做一次总计

select t.t_dept, t.t_project, sum(t.t_amount) from te t

group by grouping sets ((t.t_dept, t.t_project), t.t_dept, null);

结果如下:

d97f90f910b2a6e354fec6fd724dee8a.png

7.使用grouping(字段)

select grouping(t.t_dept),t.t_dept, t.t_project, sum(t.t_amount) from te t

group by grouping sets ((t.t_dept, t.t_project), t.t_dept, null);

结果如下:

2e7cee2480bcf9acd886177499f7c45c.png

注意: 在存储过程中null不会正确执行 需要改成()

Oracle的rollup、cube、grouping sets函数

转载自:https://blog.csdn.net/huang_xw/article/details/6402396 Oracle的group by除了基本用法以外,还有3种扩展用法,分别是rollu ...

PB gird类型数据窗口 设置分组、分组小计、合计

今天遇到一个需求,gird表格数据如下:  部门  类型 数据   A  类型1  1  A  类型2  2  B  类型1  3  B  类型2  4   合计 10 实际需要显示的结果为:  部门 ...

实现对数据进行分组小计并计算合计的实例 asp.net

可以通过数据绑定来实现  通过union all 来实现数据库 SELECT * FROM v3_pay_list2 where ( (ought_date >= '2012-12-06') a ...

Oracle PL/SQL之GROUP BY GROUPING SETS

[转自] http://blog.csdn.net/t0nsha/article/details/6538838 使用GROUP BY GROUPING SETS相当于把需要GROUP的集合用UNIO ...

Oracle 使用小计(4)

1.oracle字符串分割函数split )定义split_type类型: CREATE OR REPLACE TYPE split_type IS TABLE OF VARCHAR2 (4000) ...

Oracle 使用小计(3)

1.出错处理 ORA-00911: invalid character. 这是因为在语句末尾加上了";"的缘故,去掉";"SQL就可以执行了~ (这与SQL ...

Oracle 使用小计(2)

1.时间转换 1.1 字符串转时间 今天需要写SQL语句更新数据库的时间,按照SQL Server的习惯写成 UPDATE TABLE A ’ WHERE ORDER_ID = ‘A12345678’ ...

Oracle 使用小计

1.Sequence 1.1 什么是Sequence? Sequence是oracle提供的一个对象,用于产生自增的主键.这与sql server的identity是类似的. 从数学的角度来说,其为一 ...

使用EF操作Oracle数据库小计

1.建表 CREATE TABLE item.ORDERS( ORDERID ) CONSTRAINT PK_ORDERS PRIMARY KEY, ORDERNO ), STOREID ), STO ...

随机推荐

Lab_4_SysOps_Monitoring_Linux_v2.5

System Operations - Lab 4: Monitoring with CloudWatch (Linux) - 2.5 ================================ ...

《DSP using MATLAB》示例Example4.8

代码: b = [0,1]; a = [3, -4, 1]; % polynomials coefficients [R,p,c] = residuez(b,a) [b,a] = residuez(R ...

Mysql Too Many Connections问题解决

MySQL的max_connections参数用来设置最大连接(用户)数.每个连接MySQL的用户均算作一个连接,max_connections的默认值为100.本文将讲解此参数的详细作用与性能影响. ...

Redis3.0 Install

Installation Download, extract and compile Redis with: $ wget http://download.redis.io/releases/redi ...

第一章 andriod studio 安装与环境搭建

原文 http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建 一.Android Stu ...

CDN设置回源host的意义

CDN设置回源host的意义 如果CDN后端用户的的源站web服务上没有绑定加速域名,只绑定了其他域名,未限制域名访问(比如通过服务器IP可以访问到默认网站),可以在CDN控制台填写回源host,这样 ...

Windows -- 从注册表删除IE浏览器加载项

Windows -- 从注册表删除IE浏览器加载项 1.  一部分加载项从注册表以下位置直接删除 2.  一部分扩展项从注册表以下位置直接删除

C“控制”Lua

[前言] 写过Windows程序的人都知道,对于应用程序,如果需要在本地保存一些配置信息,我们经常将这些配置信息写在注册表或者本地的配置文件中,很多应用都是将一些配置信息写在配置文件中,比如以ini结 ...

Scala控制语句

2019-04-16 19:03:01 if else 表达式 var sumVal = 0 if ( sumVal == 0 ) { println("true") } else ...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oracle sum 小计,Oracle分组小计、总计示例(grouping sets的使用) 的相关文章

随机推荐