SQL Reference
Table Of Contents
Chapter 2 | Supported standards 11
GROUP BY clause
The GROUP BY clause specifies the names of one or more fields by which the returned values
should be grouped. This clause is used to return a set of aggregate values. It has the following
format:
GROUP BY columns
columns must match the column expression used in the SELECT clause. A column expression
can be one or more field names of the database table separated by commas.
Example
The following example sums the salaries in each department.
SELECT dept_id, SUM (salary) FROM emp GROUP BY dept_id
This statement returns one row for each distinct department ID. Each row contains the department
ID and the sum of the salaries of the employees in the department.
HAVING clause
The HAVING clause enables you to specify conditions for groups of records (for example, display
only the departments that have salaries totaling more than $200,000). It has the following format:
HAVING expr1 rel_operator expr2
expr1 and expr2 can be field names, constant values, or expressions. These expressions do
not have to match a column expression in the SELECT clause.
rel_operator is the relational operator that links the two expressions.
Example
The following example returns only the departments whose sums of salaries are greater than
$200,000:
SELECT dept_id, SUM (salary) FROM emp
GROUP BY dept_id HAVING SUM (salary) > 200000