PostgreSQL Having子句

PostgreSQL Having子句

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

语法:

SELECT column1, column2  
FROM table1, table2  
WHERE [ conditions ]  
GROUP BY column1, column2  
HAVING [ conditions ]  
ORDER BY column1, column2

示例1:

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

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

执行以下查询:

SELECT NAME   
FROM EMPLOYEES  
GROUP BY NAME HAVING COUNT (NAME) < 2;

得到结果如下 -

示例2:

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

INSERT INTO EMPLOYEES VALUES (7, 'Minsu', 24, 'Delhi', 135000);  
INSERT INTO EMPLOYEES VALUES (8, 'Manisha', 19, 'Noida', 125000);

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

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

SELECT NAME,COUNT (NAME) 
FROM EMPLOYEES  
GROUP BY NAME HAVING COUNT (NAME) > 1;

得到结果如下 -

这是因为名字为 MinsuManisha 有两条记录。