在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, &aposMinsu&apos, 24, &aposDelhi&apos, 135000)
INSERT INTO EMPLOYEES VALUES (8, &aposManisha&apos, 19, &aposNoida&apos, 125000)
现在完整的数据如下所示 -
执行以下查询表“EMPLOYEES
”中name
字段值计数大于1
的名称。
SELECT NAME,COUNT (NAME)
FROM EMPLOYEES
GROUP BY NAME HAVING COUNT (NAME) > 1
得到结果如下 -
这是因为名字为 Minsu
和 Manisha
有两条记录。