The HAVING clause is used to restrict conditionally the output of a SQL statement, by a Aggregate Function used in your SELECT list of columns.
You can't specify criteria in a WHERE clause against a column in the SELECT list for which Aggregate Function is used. For example the following SQL statement will generate an error:
|
SELECT Employee, SUM (Hours)
FROM EmployeeHours WHERE SUM (Hours) > 24 GROUP BY Employee |
The HAVING clause is used to do exactly this, to specify a condition for an aggregate function which is used in your query:
|
SELECT Employee, SUM (Hours)
FROM EmployeeHours GROUP BY Employee HAVING SUM (Hours) > 24 |
The above SQL statement will select all employees and the sum of their respective hours, as long as this sum is greater than 24. The result of the HAVING clause can be seen below:
|
Employee
|
Hours
|
|
John Smith
|
25
|
|
Tina Crown
|
27
|
No comments:
Post a Comment