Escolar Documentos
Profissional Documentos
Cultura Documentos
5-2
Lesson Agenda
Group functions:
Types and syntax
Use AVG, SUM, MIN, MAX, COUNT
Use DISTINCT keyword within group functions
NULL values in a group function
Grouping rows:
GROUP BY clause
HAVING clause
Nesting group functions
5-3
What Are Group Functions?
Group functions operate on sets of rows to give one result per group.
EMPLOYEES
Maximum salary in
EMPLOYEES table
5-4
Types of Group Functions
AVG
COUNT
MAX
MIN
Group
STDDEV functions
SUM
VARIANCE
5-5
Group Functions: Syntax
5-6
Using the AVG and SUM Functions
5-7
Using the MIN and MAX Functions
You can use MIN and MAX for numeric, character, and date data
types.
5-8
Using the COUNT Function
5-9
Using the DISTINCT Keyword
5 - 10
Group Functions and Null Values
5 - 11
Lesson Agenda
Group functions:
Types and syntax
Use AVG, SUM, MIN, MAX, COUNT
Use DISTINCT keyword within group functions
NULL values in a group function
Grouping rows:
GROUP BY clause
HAVING clause
Nesting group functions
5 - 12
Creating Groups of Data
EMPLOYEES
4400
Average salary in
EMPLOYEES table for
9500
each department
3500
6400
10033
5 - 13
Creating Groups of Data:
GROUP BY Clause Syntax
5 - 14
Using the GROUP BY Clause
All columns in the SELECT list that are not in group functions must
be in the GROUP BY clause.
5 - 15
Using the GROUP BY Clause
SELECT AVG(salary)
FROM employees
GROUP BY department_id ;
5 - 16
Grouping by More than One Column
5 - 17
Using the GROUP BY Clause
on Multiple Columns
5 - 18
Illegal Queries
Using Group Functions
Any column or expression in the SELECT list that is not an aggregate
function must be in the GROUP BY clause:
5 - 19
Illegal Queries
Using Group Functions
You cannot use the WHERE clause to restrict groups.
You use the HAVING clause to restrict groups.
You cannot use group functions in the WHERE clause.
SELECT department_id, AVG(salary)
FROM employees
WHERE AVG(salary) > 8000
GROUP BY department_id;
5 - 20
Restricting Group Results
EMPLOYEES
5 - 21
Restricting Group Results
with the HAVING Clause
When you use the HAVING clause, the Oracle server restricts groups
as follows:
1. Rows are grouped.
2. The group function is applied.
3. Groups matching the HAVING clause are displayed.
5 - 22
Using the HAVING Clause
5 - 23
Using the HAVING Clause
5 - 24
Lesson Agenda
Group functions:
Types and syntax
Use AVG, SUM, MIN, MAX, COUNT
Use DISTINCT keyword within group functions
NULL values in a group function
Grouping rows:
GROUP BY clause
HAVING clause
Nesting group functions
5 - 25
Nesting Group Functions
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;
5 - 26
Summary
5 - 27
Practice 5: Overview
5 - 28