PostgreSQL Having子句

在PostgreSQL中,HAVING子句与GROUP BY子句组合使用,用于选择函数结果满足某些条件的特定行。

语法:

SELECT column1, column2

FROM table1, table2

WHERE [ conditions ]

GROUP BY column1, column2

HAVING [ conditions ]

ORDER BY column1, column2

SQL

示例1:

我们来看一下表“EMPLOYEES”,具有以下数据。

在这个例子中,它将显示名称(name)数量小于2的记录。

执行以下查询:

SELECT NAME

FROM EMPLOYEES

GROUP BY NAME HAVING COUNT (NAME) < 2;

SQL

得到结果如下 –

示例2:

我们在“EMPLOYEES”表中插入一些重复的记录,首先添加以下数据:

INSERT INTO EMPLOYEES VALUES (7, ‘Minsu’, 24, ‘Delhi’, 135000);

INSERT INTO EMPLOYEES VALUES (8, ‘Manisha’, 19, ‘Noida’, 125000);

SQL

现在完整的数据如下所示 –

执行以下查询表“EMPLOYEES”中name字段值计数大于1的名称。

SELECT NAME,COUNT (NAME)

FROM EMPLOYEES

GROUP BY NAME HAVING COUNT (NAME) > 1;

SQL

得到结果如下 –

这是因为名字为 Minsu和 Manisha 有两条记录。