1. 程式人生 > >mysql 對錶資料進行求和分組並在結果中篩選符合條件的資料 having group by count

mysql 對錶資料進行求和分組並在結果中篩選符合條件的資料 having group by count

查詢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子句中可以。