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

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.

主站蜘蛛池模板: 巧家县| 灵武市| 齐齐哈尔市| 抚顺县| 江北区| 镶黄旗| 庆云县| 广河县| 中阳县| 旺苍县| 昭通市| 措美县| 渭南市| 崇信县| 康乐县| 乡城县| 会东县| 巢湖市| 五原县| 佛教| 白河县| 普兰县| 溆浦县| 莲花县| 遵化市| 济阳县| 济阳县| 论坛| 新津县| 永康市| 黔南| 万宁市| 紫阳县| 诏安县| 玛纳斯县| 罗定市| 长顺县| 平陆县| 府谷县| 大安市| 正蓝旗|