官术网_书友最值得收藏!

Using the HAVING clause

In the previous section, we discussed about GROUP BY clause, however if you want to restrict the groups of returned rows, you can use HAVING clause. The HAVING clause is used to specify which individual group(s) is to be displayed, or in simple language we use the HAVING clause in order to filter the groups on the basis of an aggregate function condition.

Note: The WHERE clause cannot be used to return the desired groups. The WHERE clause is only used to restrict individual rows. When the GROUP BY clause is not used, the HAVING clause works like the WHERE clause.

The syntax for the PostgreSQL HAVING clause is as follows:

SELECT expression1, expression2, ... expression_n, 
aggregate_function (expression)
FROM tables
WHERE conditions
GROUP BY expression1, expression2, ... expression_n
HAVING group_condition;

Parameters or arguments

aggregate_function can be a function such as SUM, COUNT, MIN, MAX, or AVG.

expression1, expression2, ... expression_n are expressions that are not encapsulated within an aggregate function and must be included in the GROUP BY clause.

conditions are the conditions used to restrict the groups of returned rows. Only those groups whose condition evaluates to true will be included in the result set.

Let's consider an example where you try to fetch the product that has sales>10000:

SELECT product, SUM(sale) AS "Total sales"
FROM order_details
GROUP BY product
Having sum(sales)>10000;

The PostgreSQL HAVING clause will filter the results so that only the total sales greater than 10000 will be returned.

主站蜘蛛池模板: 麻栗坡县| 鄱阳县| 海盐县| 维西| 句容市| 东乡族自治县| 望谟县| 二连浩特市| 米林县| 安丘市| 柯坪县| 定州市| 砀山县| 获嘉县| 秦安县| 上杭县| 荔波县| 海宁市| 寻乌县| 上犹县| 大庆市| 潍坊市| 临泉县| 宽甸| 彰武县| 四平市| 霞浦县| 科技| 巴彦淖尔市| 枞阳县| 南丰县| 吉安市| 巴林右旗| 黄大仙区| 武威市| 南京市| 前郭尔| 临沂市| 新乐市| 皋兰县| 梧州市|