SQL HAVING clause is used with aggregate functions.
Syntaxt
SELECT column_name, aggregate_function(column_name)
FROM table_name
GROUP BY column_name
HAVING aggregate_function(column_name) operator value
Table – Users
+—–+——+
| uid | name |
+—–+——+
| 1 | AAAA |
| 2 | BBBB |
| 3 | CCCC |
| 4 | DDDD |
| 5 | EEEE |
+—–+——+
Table – Orders
+—–+—–+——-+
| oid | uid | price |
+—–+—–+——-+
| 1 | 1 | 60 |
| 2 | 2 | 30 |
| 3 | 2 | 60 |
| 4 | 1 | 70 |
| 5 | 2 | 80 |
| 6 | 1 | 50 |
+—–+—–+——-+
Example
mysql> SELECT SUM(o.price) AS total,u.name FROM users AS u JOIN orders AS o ON u.uid=o.uid GROUP BY o.uid HAVING total >175;
+——-+——+
| total | name |
+——-+——+
| 180 | AAAA |
+——-+——+
1 row in set (0.00 sec)