在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;
得到结果如下 -
这是因为名字为 Minsu
和 Manisha
有两条记录。