The HAVING clause is used with aggregate functions as the WHERE clause can not be used with them.
HAVING Syntax
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;
We have a table "employee" as below:
employee
id first_name last_name salary
.......................................................
1 John Simp 10000
2 Chris Hely 25000
3 John Roy 20000
4 Jenny Mill 35000
5 Jenny Simpson 35000
HAVING Example
Now we want to find all the records which have duplicate values in column "first_name" then you just need to write the below command:
SELECT first_name, COUNT(first_name) as count
FROM employee
GROUP by first_name
HAVING COUNT(first_name) > 1;
Result:
first_name count
.............................
John 2
Jenny 2
Now we want to find the records which have duplicate values in column "first_name" and salary is 35000, then you just need to write the below command:
SELECT first_name, COUNT(first_name) as count
FROM employee
WHERE salary = 35000
GROUP by first_name
HAVING COUNT(first_name) > 1;
Result:
first_name count
.............................
Jenny 2
Hope this will help you :)
0 Comment(s)