2018-10-23
閱讀量:
1055
MySQL分組后篩選HAVING
1、HAVING條件篩選
當(dāng)真實(shí)數(shù)據(jù)表中沒(méi)有此數(shù)據(jù),這些數(shù)據(jù)是通過(guò)一些函數(shù)生成的,就需要使用HAVING子句進(jìn)行篩選。

2、WHERE與HAVING的區(qū)別
WHERE 子句作用于表和視圖,HAVING 子句作用于組。
兩者顯著的區(qū)別是WHERE子句條件查詢的作用域是針對(duì)數(shù)據(jù)表進(jìn)行操作,而HAVING條件查詢則是對(duì)查詢結(jié)果進(jìn)行操作。
WHERE在分組和聚集計(jì)算之前篩選行,而HAVING 在分組和聚集之后篩選分組的行。因此WHERE子句不能包含聚集函數(shù),相反HAVING 子句總是包含聚集函數(shù)。(嚴(yán)格說(shuō)來(lái),也可以寫不使用聚集的 HAVING 子句,但這種情況下同樣的條件使用WHERE子句速度更快,因?yàn)槲覀儽苊饬藶槟切┎粷M足WHERE條件的行進(jìn)行分組和聚集計(jì)算)


3、為什么使用HAVING
使用HAVING子句進(jìn)行分組后篩選,可以讓條件查詢語(yǔ)句更簡(jiǎn)潔易懂。









評(píng)論(0)


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