Use avg, sum, max and count functions with group : GROUP BY « Select Query « Oracle PL / SQL

Home
Oracle PL / SQL
1.Aggregate Functions
2.Analytical Functions
3.Char Functions
4.Constraints
5.Conversion Functions
6.Cursor
7.Data Type
8.Date Timezone
9.Hierarchical Query
10.Index
11.Insert Delete Update
12.Large Objects
13.Numeric Math Functions
14.Object Oriented Database
15.PL SQL
16.Regular Expressions
17.Report Column Page
18.Result Set
19.Select Query
20.Sequence
21.SQL Plus
22.Stored Procedure Function
23.Subquery
24.System Packages
25.System Tables Views
26.Table
27.Table Joins
28.Trigger
29.User Previliege
30.View
31.XML
Oracle PL / SQL » Select Query » GROUP BY 




Use avg, sum, max and count functions with group
   
SQL>
SQL> CREATE TABLE employees
  2  employee_id          number(10)      not null,
  3    last_name            varchar2(50)      not null,
  4    email                varchar2(30),
  5    hire_date            date,
  6    job_id               varchar2(30),
  7    department_id        number(10),
  8    salary               number(6),
  9    manager_id           number(6)
 10  );

Table created.

SQL>
SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary,department_id ,manager_id)
  2                values 1001'Lawson', 'la[email protected]', '01-JAN-2002','MGR', 30000,,1004);

row created.

SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary, department_id ,manager_id)
  2                values 1002'Wells', 'we[email protected]', '01-JAN-2002', 'DBA', 20000,21005 );

row created.

SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary, department_id ,manager_id)
  2                 values1003'Bliss', 'bl[email protected]', '01-JAN-2002', 'PROG', 24000,,1004);

row created.

SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)
  2                 values1004,  'Kyte', 'Yo[email protected]', SYSDATE-3650'MGR',25000 ,41005);

row created.

SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)
  2                 values1005'Dillon', 'sdillon@a .com', SYSDATE, 'PROG', 2000011006);

row created.

SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary, department_id,manager_id)
  2                 values1006'Beck', 'cl[email protected]', SYSDATE, 'PROG', 200002null);

row created.

SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)
  2                 values1007'Java', 'ja[email protected]', SYSDATE, 'PROG', 2000031006);

row created.

SQL>
SQL> insert into employeesemployee_id, last_name, email, hire_date, job_id, salary, department_id, manager_id)
  2                 values1008'Oracle', 'wv[email protected]', SYSDATE, 'DBA', 2000041006);

row created.

SQL>
SQL> select from employees;

EMPLOYEE_ID LAST_NAME                                          EMAIL                          HIRE_DATE JOB_ID                         DEPARTMENT_ID     SALARY MANAGER_ID
----------- -------------------------------------------------- ------------------------------ --------- ------------------------------ ------------- ---------- ----------
       1001 Lawson                                             [email protected]                   01-JAN-02 MGR                                        1      30000       1004
       1002 Wells                                              [email protected]                    01-JAN-02 DBA                                        2      20000       1005
       1003 Bliss                                              [email protected]                    01-JAN-02 PROG                                       3      24000       1004
       1004 Kyte                                               [email protected]                 13-JUN-98 MGR                                        4      25000       1005
       1005 Dillon                                             sdillon@a .com                 10-JUN-08 PROG                                       1      20000       1006
       1006 Beck                                               [email protected]                   10-JUN-08 PROG                                       2      20000
       1007 Java                                               [email protected]                   10-JUN-08 PROG                                       3      20000       1006

EMPLOYEE_ID LAST_NAME                                          EMAIL                          HIRE_DATE JOB_ID                         DEPARTMENT_ID     SALARY MANAGER_ID
----------- -------------------------------------------------- ------------------------------ --------- ------------------------------ ------------- ---------- ----------
       1008 Oracle                                             [email protected]                  10-JUN-08 DBA                                        4      20000       1006

rows selected.

SQL>
SQL> select job_id, avg(salary), sum(salary), max(salary), count(*)
  2        from employees
  3       group by job_id
  4      /

JOB_ID                         AVG(SALARYSUM(SALARYMAX(SALARY)   COUNT(*)
------------------------------ ----------- ----------- ----------- ----------
PROG                                 21000       84000       24000          4
DBA                                  20000       40000       20000          2
MGR                                  27500       55000       30000          2

rows selected.

SQL>
SQL> drop table employees;

Table dropped.

SQL>

   
    
  














Related examples in the same category
1.Using the GROUP BY Clause
2.Must include a nonaggregate column in the SELECT list in the GROUP BY clause
3.Use group by and avg
4.GROUP BY may be used on a column without the column name appearing in the result set
5.Grouping at Multiple Levels: group by more than one column
6.Column sequence in the group by impacts the ordering
7.Using the ORDER BY Clause to Sort Groups
8.You don't have to include the columns used in the GROUP BY clause in your SELECT clause
9.GROUP BY and HAVING clauses
10.Using a Column Multiple Times in a GROUP BY Clause
11.timing and auto tracing a select statement with group
12.Group joined tables
13.Group by case
14.Group by course name then by begin date
15.Group and count employeem and display only if its count is more than 4
16.Count all employees by even/odd employee id
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.