where和having區別:

where和having區別:

  • having只能用在group by以後,對分組後的結果進行篩選(即便用having的前提條件是分組)。
  • where確定在group by 以前,即也在having以前。
  • where後的條件表達式裏不容許使用聚合函數,而having能夠。

Where是一個約束聲明,在查詢數據庫的結果返回以前對數據庫中的查詢條件進行約束,即在結果返回以前起做用,且where後面不能使用聚合函數。數據庫

Having是一個過濾聲明,所謂過濾是在查詢數據庫的結果返回以後進行過濾,即在結果返回以後起做用,而且having後面能夠使用聚合函數。函數

所謂聚合函數,是對一組值進行計算而且返回單一值的函數:sum---求和,count---計數,max---最大值,avg---平均值等。數據

相關文章
相關標籤/搜索