[TOC=1,5]
>[success] # 分組查詢
>group by 只是創建分組,但并不保證分組里面的數據的排列順序,需 要使用 order by 子句對分組里面的數據進行排序。
**注弄清楚 group by /where /order by / having四個邏輯:**
group by 用來分組,where用來篩選,orderby用來排序,having用來過濾分組后的數據,所以邏輯應該是,我先篩選需要分組的數據,在吧分組的數據排列所以就是,group by 子句必須出現在 where 子句之后,order by 子句之前。
>[danger] ##### 用法
`SELECT vend_id,COUNT(*) AS max_price FROM products GROUP BY vend_id;`

<br>
*****
>[danger] ##### 過濾分組 -having
>除了能用 group by 分組數據外,MySQL 還允許對分組指定條件,規定包含 哪些分組,排除哪些分組。MySQL 使用 having 子句來完成該操作。
where 子句過濾指定的行,having 子句過濾指定的分組。
`SELECT vend_id,COUNT(*) AS max_price FROM products GROUP BY vend_id HAVING max_price>=3;`

* * * * *
<br>
>[danger] ##### select 子句順序
