A “HAVING” Clause is use to filter a records using “GROUP BY” Clause and without GROUP BY clause, the HAVING work like a WHERE clause. Only the groups that meet the HAVING criteria will be returned.
According to Wikipedia,
A “HAVING” clause in SQL specifies that an SQL SELECT statement should only return rows where aggregate values meet the specified conditions.
Syntax:-
SELECT columnName FROM TableName WHERE condition GROUP BY columnName HAVING condition --WITH ORDER BY:- SELECT columnName FROM TableName WHERE condition GROUP BY columnName HAVING condition ORDER BY columnName
Examples:-
SELECT COUNT(Id) AS Counts, CountryName FROM Countries GROUP BY CountryName HAVING COUNT(Id) < 5
Result:-
Counts CountryName -------------------- 1 Australia 1 India 1 Nepal 1 Rasia 1 USA
Other Example,
SELECT COUNT(Id) AS [Count], CountryName FROM Countries WHERE CountryName <> 'INDIA' GROUP BY CountryName HAVING COUNT(Id) <= 5 ORDER BY COUNT(Id) DESC
Result:-
Count CountryName ------------------- 1 Australia 1 Nepal 1 Rasia 1 USA
I hope you are enjoying with this post! Please share with you
friends. Thank you!!