- In the same way that you use the WHERE clause to restrict the rows that you select, you use the HAVING clause to restrict groups
- To find the maximum salary in each of the departments that have a maximum salary greater than $10,000, you need to do the following :
- Find the average salary for each department by groupingby department number
- Restrict the groups to those departments with a maximum salary greater than $10,000
- When you use the HAVING clause, the PostgreSQL server restricts groups as follows:
- Rows are grouped
- The group function is applied
- Groups matching the HAVING clause are displayed
Example :
- SELECT deptno, MAX(sal) FROM emp GROUP BY deptno HAVING MAX(sal)>4000 ;
- SELECT job, SUM(sal) as PAYROLL FROM emp WHERE job NOT LIKE '%MAN%' GROUP BY job HAVING SUM(sal) > 4000 ORDER BY SUM(sal);
[WHERE condition]
[GROUP BY group_by_expression]
[HAVING group_condition]
[ORDER BY column];
No comments:
Post a Comment