--舉例子說明:查詢table表查詢每一個班級中年齡大于20,性别為男的人數
select
COUNT
(*)
as
'>20歲人數'
,classid
from
Table1
where
sex=
'男'
group
by
classid,age
having
age>20
--需要注意說明:當同時含有where子句、group by 子句 、having子句及聚集函數時,執行順序如下:
--執行where子句查找符合條件的資料;
--使用group by 子句對資料進行分組;對group by 子句形成的組運作聚集函數計算每一組的值;最後用having 子句去掉不符合條件的組。
--having 子句中的每一個元素也必須出現在select清單中。有些資料庫例外,如oracle.
--having子句和where子句都可以用來設定限制條件以使查詢結果滿足一定的條件限制。
--having子句限制的是組,而不是行。where子句中不能使用聚集函數,而having子句中可以。