SQL HAVING Clause
The HAVING clause enables you to
specify conditions that filter which group results appear in the final results.
The WHERE clause places conditions on
the selected columns, whereas the HAVING clause places conditions on groups
created by the GROUP BY clause.
Syntax:
The following is the position of the HAVING clause in a query:
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
The HAVING clause must follow the
GROUP BY clause in a query and must also precede the ORDER BY clause if used.
The following is the syntax of the SELECT statement, including the HAVING
clause:
SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
Example:
Consider the CUSTOMERS table having
the following records:
+----+-------------+------+-----------------+---------------+
|
ID | NAME | AGE
| ADDRESS | SALARY |
+----+-------------+------+-----------------+---------------+
|
1 | Ramesh | 32
| Ahmedabad | 2000.00 |
|
2 | Ramesh | 25
| Delhi |
1500.00 |
|
3 | kaushik | 23
| Kota |
2000.00 |
|
4 | Chaitali | 25
| Mumbai | 6500.00 |
|
5 | Chaitali | 27
| Bhopal | 8500.00 |
|
6 | Komal | 22
| MP |
4500.00 |
|
7 | Muffy | 24
| Indore | 10000.00 |
+----+-------------+------+-----------------+---------------+
Following
is the example, which would display record for which
similar age count would be more than or equal to 2:
SQL > SELECT *
FROM CUSTOMERS
GROUP BY age
HAVING COUNT(age) >= 2;
This would produce the following result:
+----+----------+------+-------------+-----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+------+-------------+-----------+
| 2 | Khilan | 25
| Delhi | 1500.00 |
+----+----------+------+-------------+-----------+
0 Comments