group by,having,where

--舉例子說明:查詢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子句中能夠。web

相關文章
相關標籤/搜索