在PostgreSQL中,HAVING子句與GROUP BY子句組合使用,用于選擇函數(shù)結(jié)果滿足某些條件的特定行。
語(yǔ)法:
SELECT column1, column2
FROM table1, table2
WHERE [ conditions ]
GROUP BY column1, column2
HAVING [ conditions ]
ORDER BY column1, column2
示例1:
我們來看一下表“EMPLOYEES”,具有以下數(shù)據(jù)。
在這個(gè)例子中,它將顯示名稱(name)數(shù)量小于2的記錄。
執(zhí)行以下查詢:
SELECT NAME
FROM EMPLOYEES
GROUP BY NAME HAVING COUNT (NAME) < 2;
得到結(jié)果如下 -

示例2:
我們?cè)凇?code>EMPLOYEES”表中插入一些重復(fù)的記錄,首先添加以下數(shù)據(jù):
INSERT INTO EMPLOYEES VALUES (7, 'Minsu', 24, 'Delhi', 135000);
INSERT INTO EMPLOYEES VALUES (8, 'Manisha', 19, 'Noida', 125000);
現(xiàn)在完整的數(shù)據(jù)如下所示 -

執(zhí)行以下查詢表“EMPLOYEES”中name字段值計(jì)數(shù)大于1的名稱。
SELECT NAME,COUNT (NAME)
FROM EMPLOYEES
GROUP BY NAME HAVING COUNT (NAME) > 1;
得到結(jié)果如下 -

這是因?yàn)槊譃?Minsu和 Manisha 有兩條記錄。