有時候需要對查詢結果進行分組,以便於我們對分組后的數據進行計算,可以使用數據分組操作
數據分組查詢 group by
需要注意的是group by只是創建分組、並不能保證分組里面的數據排序。如果需要排序,可以使用order by
group by字句必須出現在where字句之后,order by之句之前
來看下分組實例,我指定了兩個列,列名為accmplish_num是我想要分組的字段,
而別名為num的字段是對分組后的數據進行統計的總和,也就是說,我這個表里面accmplish_num為0出現了8次。
除了上面這種分組數據外,還可以對分組進行指定條件
過濾分組 使用having字句
where與having一起使用過濾
在他們一起使用的時候,注意先執行where后面的條件,再進行創建分組,統計,然后再統計num大於1的數據
子查詢
說明:就是嵌套在其他字句查詢里面的查詢
需求:我們知道訂單表中的線路line_id,想要找出線路為15的乘客的所有信息
看下面的例子,先找出線路line_id=15的訂單表中的所有乘客手機號,這個就是括號里面的子查詢
然后在乘客表里面找出mobile在子查詢中的所有乘客的信息,也就滿足了我們需求,當然這只是簡單的一層嵌套,你也可以使用多層,
但是並不建議嵌套太多,因為這樣做在工作中影響查詢效率