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”,具有以下数据。

PostgreSQL Having子句_第1张图片

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

执行以下查询:

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

得到结果如下 -

PostgreSQL Having子句_第2张图片

示例2:

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

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

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

PostgreSQL Having子句_第3张图片

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

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

得到结果如下 -

PostgreSQL Having子句_第4张图片

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

同发布于:http://www.yiibai.com/postgresql/postgresql-having-clause.html

你可能感兴趣的:(PostgreSQL Having子句)