2020-05-02
閱讀量:
2054
關(guān)于MySql中的group by 注意事項(xiàng)
定義:用于該字段的分組(通過(guò)group ?by 相當(dāng)于對(duì)表的字段進(jìn)行了分組的操作處理);
group by 使用注意點(diǎn):?
1.having只能用在group?by之后,對(duì)分組后的結(jié)果進(jìn)行篩選(即使用having的前提條件是分組)。?
2.where肯定在group?by?之前,即也在having之前。?
3.where后的條件表達(dá)式里不允許使用聚合函數(shù)(count(),sum(),avg(),max(),min()),而having可以。
當(dāng)一個(gè)查詢語(yǔ)句同時(shí)出現(xiàn)了where,group?by,having,order?by的時(shí)候,執(zhí)行順序和編寫順序是:?
- 執(zhí)行where?xx對(duì)全表數(shù)據(jù)做篩選,返回第1個(gè)結(jié)果集。
- 針對(duì)第1個(gè)結(jié)果集使用group?by分組,返回第2個(gè)結(jié)果集。
- 針對(duì)第2個(gè)結(jié)果集中的每1組數(shù)據(jù)執(zhí)行select?xx,有幾組就執(zhí)行幾次,返回第3個(gè)結(jié)果集。
- 針對(duì)第3個(gè)結(jié)集執(zhí)行having?xx進(jìn)行篩選,返回第4個(gè)結(jié)果集。
- 針對(duì)第4個(gè)結(jié)果集排序。
- 當(dāng)group by 后有2個(gè)字段時(shí),當(dāng)成一個(gè)整體的字段進(jìn)行分組。
除聚合計(jì)算語(yǔ)句外,select 中的每個(gè)列都必須在 group by 中出現(xiàn);






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
1條評(píng)論
0條評(píng)論
0條評(píng)論