當(dāng)SELECT后既有表結(jié)構(gòu)本身的字段,又有需要使用聚合函數(shù)(COUNT(),SUM(),MAX(),MIN(),AVG()等)的字段,就要用到group by分組,查詢的限定條件里有需要用聚合函數(shù)計(jì)算的字段時(shí)也需要用分組,比如:
select avg(grade) from cs
查詢選課表(cs)中學(xué)生的平均成績(jī)(grade);這里就不用分組;
又如:
select sno,sum(grade) from cs group by sno
查詢選課表里每個(gè)學(xué)生的總成績(jī),這里就要用分組,分組的依照字段必須是select 后沒(méi)有被計(jì)算過(guò)的原始字段;
where是在分組前使用的條件,having是在分組后使用的條件