|
Home >> FAQs/Tutorials >> SQL Server FAQ
SQL Server FAQ - HAVING - Apply Filtering Criteria at Group Level
By: FYIcenter.com
(Continued from previous topic...)
How To Apply Filtering Criteria at Group Level with The HAVING Clause?
Let's say you have divided the query output into multiple groups
with the GROUP BY clause. Now you are only interested in some of the groups,
not all the groups. If you want to filter out some groups from the query, you can apply
filtering criteria at the group level by using the HAVING clause inside
the GROUP BY clause with this syntax:
SELECT group_level_fields FROM source_tables
WHERE search_condition
GROUP BY group_by_expression
HAVING group_filtering_condition
Since group_filtering_condition applies to groups,
only group level expressions can be used in group_filtering_condition.
The following tutorial exercise gives you some good examples of HAVING clause:
SELECT tag, COUNT(*), MIN(created), AVG(counts)
FROM fyi_links
GROUP BY tag HAVING AVG(counts) > 300
GO
tag COUNT(*) MIN(created) AVG(counts)
DBA 3 2005-01-01 774
SQA 2 2003-01-01 778
SELECT tag, COUNT(*), MIN(created), AVG(counts)
FROM fyi_links
GROUP BY tag
HAVING AVG(counts) > 300 AND tag = 'DBA'
GO
tag COUNT(*) MIN(created) AVG(counts)
DBA 3 2005-01-01 774
Note that the more criteria you have in the HAVING clause, the less groups you will get.
(Continued on next topic...)
- What Is a SELECT Query Statement?
- How To Create a Testing Table with Test Data?
- How To Select All Columns of All Rows from a Table with a SELECT statement?
- How To Select Some Specific Columns from a Table in a Query?
- How To Select Some Specific Rows from a Table?
- How To Add More Data to the Testing Table?
- How To Sort the Query Output with ORDER BY Clauses?
- Can the Query Output Be Sorted by Multiple Columns?
- How To Sort Query Output in Descending Order?
- How To Count Rows with the COUNT(*) Function?
- Can SELECT Statements Be Used on Views?
- How To Filter Out Duplications in the Returning Rows?
- What Are Group Functions in Query Statements?
- How To Use Group Functions in the SELECT Clause?
- Can Group Functions Be Mixed with Non-group Selection Fields?
- How To Divide Query Output into Multiple Groups with the GROUP BY Clause?
- How To Apply Filtering Criteria at Group Level with The HAVING Clause?
- How To Count Duplicated Values in a Column?
- Can Multiple Columns Be Used in GROUP BY?
- Can Group Functions Be Used in the ORDER BY Clause?
|