HAVING Clause

The HAVING clause filters data after grouping.

The WHERE clause sets conditions on selected columns, while the HAVING clause sets conditions on groups created by the GROUP BY clause.

Syntax

SELECT 
{ * | [column, ...] }
[ FROM from_item [, ...] ]
[ WHERE condition ]
[ GROUP BY grouping_element [, ...] ]
[ HAVING condition [, ...] ]
[ ORDER BY {expression [ ASC | DESC ] }];

Parameter Description

  • HAVING clause

    Selects special groups by working with the GROUP BY clause. The HAVING clause compares some attributes of groups with a constant. Only groups that match the logical expression in the HAVING clause are extracted.

Examples

In the following example, data is grouped based on the value of c_first_name which is less than 2.

openGauss=# SELECT c_first_name FROM customer_t1 GROUP BY c_first_name HAVING count(c_first_name) < 2;

The result is as follows:

 c_first_name
--------------
 James
 Local

 Joes
(4 rows)

In the following example, data is grouped based on the value of c_first_name which is greater than 1.

openGauss=# SELECT c_first_name FROM customer_t1 GROUP BY c_first_name HAVING count(c_first_name) > 1;

The result is as follows:

 c_first_name
--------------
 Grace
 Lily
(2 rows)
Feedback
编组 3备份
    openGauss 2024-12-22 00:53:44
    cancel