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 有兩條記錄。