SQL語句Group By分組以及where和having的區別

Group By分組

depart表
在這裏插入圖片描述
現在想要查詢出汽車系 和軟件系的個數,這就用到分組

SELECT xname,COUNT(*) FROM depart
GROUP BY xname

1.count()是聚合函數,對於返回的結果集,一行行地判斷,累計值加1,最後返回累計值,count()、count(主鍵ID)和count(1)表示返回滿足條件的結果集的總行數。

常用聚合函數
count() 計數
sum() 求和
avg() 平均數
max() 最大值
min() 最小值

2.GROUP BY我們可以先從字面上來理解,GROUP表示分組,BY後面寫字段名,就表示根據哪個字段進行分組,
在這裏插入圖片描述
查詢結果就出來了,汽車系的爲2個,軟件系的爲1個… 查詢結果也正確…分組完成

where和having的區別

相同點:where和having都是sql用於條件判斷的
不同點:進行group by分組之後 然後在進行條件判斷,這個時候必須用having進行判斷,不能用where判斷,
分組之後一定不能出現where

發佈了21 篇原創文章 · 獲贊 27 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章