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

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.

主站蜘蛛池模板: 利辛县| 六盘水市| 苗栗市| 昌都县| 黔南| 六盘水市| 三门峡市| 鹤壁市| 望奎县| 珲春市| 五峰| 壶关县| 综艺| 莲花县| 石景山区| 阿尔山市| 东乡族自治县| 东城区| 安龙县| 横峰县| 于田县| 彝良县| 五寨县| 隆子县| 栖霞市| 周至县| 容城县| 百色市| 阳江市| 石屏县| 余庆县| 定西市| 油尖旺区| 盘山县| 如东县| 稷山县| 灵石县| 大城县| 博乐市| 丘北县| 小金县|