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

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.

主站蜘蛛池模板: 车险| 任丘市| 兴隆县| 潜山县| 三明市| 儋州市| 射洪县| 陆良县| 布拖县| 巴里| 周宁县| 驻马店市| 中方县| 鹤壁市| 上高县| 宝山区| 嘉义市| 黄冈市| 肇源县| 米泉市| 四川省| 南华县| 洮南市| 巴彦淖尔市| 泽普县| 宁海县| 洛川县| 星座| 舞钢市| 巴里| 英德市| 城步| 鹿邑县| 芒康县| 特克斯县| 额济纳旗| 新平| 沙雅县| 高碑店市| 兴国县| 万安县|