mysql中group by分組
為了測試group by語句,我們首先建立一個表:
然後向表內新增資料:
然後我們檢視一下表的內容
接著我們分別按照性別和年齡對這個表進行分組;
我們可以看到表內的資料沒有原表的多了,原因就是分組有去重的功能,他會把一個欄位內相同的內容給合併成一個
group by 操作:
group by 欄位名; 將查詢結果按照1個或多個欄位進行分組,欄位值相同的為一組
group by 可用於單個欄位分組 ,也可用於多個欄位分組
select gender,group_concat(name) from student group by gender;
group_concat(欄位名) 可以作為一個輸出欄位來使用,表示分組之後,根據分組結果,使用group_concat()來防止每一組的某欄位的值得集合
select gender,count(*) from students group by gender having count(*) > 2;
group by 可以加where條件,where條件必須加以group by 前面
having 條件表示式:用來分組查詢後指定一些條件來輸出查詢結果
having作用和where一樣,但having只能用於group by