Transfer: https://www.cnblogs.com/xiaojianblogs/p/8047036.html
1. Start by creating a table
- 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. The input data are as follows:
- insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)
- values ( '. 1' '. 1' '. 1', 10, 'headquarters', '90', '0');
- insert into te (ID, T_CODE, T_NAME, T_AMOUNT, T_DEPT, T_PROJECT, T_TYPE)
- values ( '2', '2', '2', 20 is, 'headquarters', '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. Query View full table
-
- select * from te;
4. t.t_dept, t.t_project group query
- select t.t_dept, t.t_project, sum(t.t_amount) from te t
- group by t.t_dept, t.t_project;
The results are as follows:
5. t.t_dept, t.t_project, using t.t_dept do Subtotal
- 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);
The results are as follows:
6. With t.t_dept, t.t_project, and use t.t_dept do subtotals, totals and do a
- 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);
The results are as follows:
7. GROUPING (field)
- 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);
The results are as follows:
Note: In the storage process is not executed correctly null need to change ()
as