Group Functions in Oracle SQL
Key Concepts
Group functions in Oracle SQL are used to perform calculations on sets of rows and return a single result per group. These functions are essential for summarizing data and generating meaningful insights. The key group functions include AVG
, COUNT
, MAX
, MIN
, SUM
, VARIANCE
, and STDDEV
.
Detailed Explanation
1. AVG
The AVG
function calculates the average value of a numeric column. It ignores NULL values in the calculation.
Example:
Calculating the average salary of employees:
SELECT AVG(Salary) FROM Employees;
2. COUNT
The COUNT
function returns the number of rows that match a specified condition. It can be used with or without a column name.
Example:
Counting the number of employees:
SELECT COUNT(*) FROM Employees;
3. MAX
The MAX
function returns the maximum value of a column. It can be used with numeric, character, and date columns.
Example:
Finding the highest salary:
SELECT MAX(Salary) FROM Employees;
4. MIN
The MIN
function returns the minimum value of a column. Like MAX
, it can be used with numeric, character, and date columns.
Example:
Finding the lowest salary:
SELECT MIN(Salary) FROM Employees;
5. SUM
The SUM
function calculates the total sum of a numeric column. It ignores NULL values.
Example:
Calculating the total salary expense:
SELECT SUM(Salary) FROM Employees;
6. VARIANCE
The VARIANCE
function calculates the statistical variance of a numeric column. Variance measures how spread out the values in a dataset are.
Example:
Calculating the variance of employee salaries:
SELECT VARIANCE(Salary) FROM Employees;
7. STDDEV
The STDDEV
function calculates the standard deviation of a numeric column. Standard deviation is the square root of the variance and provides a measure of the dispersion of data.
Example:
Calculating the standard deviation of employee salaries:
SELECT STDDEV(Salary) FROM Employees;
Examples and Analogies
Example 1: AVG and SUM
Imagine you are managing a team of employees and want to know the average salary and the total salary expense. You would use AVG
and SUM
functions respectively:
SELECT AVG(Salary), SUM(Salary) FROM Employees;
Example 2: MAX and MIN
If you want to find out the highest and lowest salaries in your company, you would use MAX
and MIN
functions:
SELECT MAX(Salary), MIN(Salary) FROM Employees;
Example 3: COUNT
To determine the number of employees in each department, you can use the COUNT
function with a GROUP BY clause:
SELECT Department, COUNT(*) FROM Employees GROUP BY Department;
Example 4: VARIANCE and STDDEV
If you are analyzing the salary distribution and want to understand the spread, you would use VARIANCE
and STDDEV
functions:
SELECT VARIANCE(Salary), STDDEV(Salary) FROM Employees;