Rollup function in group by clause
 source: Need more
Create Table: 
...............................................................................
 create table Employee(
ID                 VARCHAR2(4 BYTE)         NOT NULL,
First_Name         VARCHAR2(10 BYTE),
Last_Name          VARCHAR2(10 BYTE),
Start_Date         DATE,
End_Date           DATE,
Salary             Number(8,2),
City               VARCHAR2(10 BYTE),
Description        VARCHAR2(15 BYTE)
);
.............................................................................
Insert values into table:: 
....................................................................................................................................
insert into Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values   ('01','Jason','Martin',  to_date('19960725','YYYYMMDD'), to_date('20060725','YYYYMMDD'), 1234.56, 'Toronto',  'Programmer');
insert into  Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values    ('02','Alison',   'Mathews', to_date('19760321','YYYYMMDD'), to_date('19860221','YYYYMMDD'), 6661.78, 'Vancouver','Tester');
    insert into  Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values    ('03','James','Smith',   to_date('19781212','YYYYMMDD'), to_date('19900315','YYYYMMDD'), 6544.78, 'Vancouver','Tester');
insert into  Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values    ('04','Celia','Rice',to_date('19821024','YYYYMMDD'), to_date('19990421','YYYYMMDD'), 2344.78, 'Vancouver','Manager');
insert into  Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values    ('05','Robert',   'Black',   to_date('19840115','YYYYMMDD'), to_date('19980808','YYYYMMDD'), 2334.78, 'Vancouver','Tester');
insert into  Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values    ('06','Linda','Green',   to_date('19870730','YYYYMMDD'), to_date('19960104','YYYYMMDD'), 4322.78,'New York',  'Tester');
    insert into  Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values    ('07','David','Larry',   to_date('19901231','YYYYMMDD'), to_date('19980212','YYYYMMDD'), 7897.78,'New York',  'Manager');
insert into  Employee  (ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description)
values    ('08','James','Cat', to_date('19960917','YYYYMMDD'), to_date('20020415','YYYYMMDD'), 1232.78,'Vancouver', 'Tester');
............................................................................................................................................
Operation :
...........................................................
1) Seclect * from employee;
...........................................................
Output:
ID   FIRST_NAME LAST_NAME  START_DATE  END_DATE        SALARY CITY       DESCRIPTION
---- ---------- ---------- ----------- ----------- ---------- ---------- ---------------
01   Jason      Martin     1996-JUL-25 2006-JUL-25    1234.56 Toronto    Programmer
02   Alison     Mathews    1976-MAR-21 1986-FEB-21    6661.78 Vancouver  Tester
03   James      Smith      1978-DEC-12 1990-MAR-15    6544.78 Vancouver  Tester
04   Celia      Rice       1982-OCT-24 1999-APR-21    2344.78 Vancouver  Manager
05   Robert     Black      1984-JAN-15 1998-AUG-08    2334.78 Vancouver  Tester
06   Linda      Green      1987-JUL-30 1996-JAN-04    4322.78 New York   Tester
07   David      Larry      1990-DEC-31 1998-FEB-12    7897.78 New York   Manager
08   James      Cat        1996-SEP-17 2002-APR-15    1232.78 Vancouver  Tester
8 rows selected.
ROLLUP operation:
................................................................
SELECT city, SUM(salary)
FROM employee
GROUP BY ROLLUP(city) ;
..................................................................
Output :
CITY       SUM(SALARY)
---------- -----------
New York      12220.56
Toronto        1234.56
Vancouver      19118.9
         32574.02
To view one record from  table:
.......................................................................................................................................................
SELECT ID,  First_Name, Last_Name, Start_Date,End_Date,Salary,City,Description
FROM employee
WHERE ID=2;
...........................................................................................................................................................
 
No comments:
Post a Comment