1、創建分組
示例:
根據vend_id分組顯示
select vend_id, count(\*)
as num_prods
from products
group by vend_id
2、過濾分組(having)
利用分組過濾行數據,示例:
select cust_id, count(\)
as orders
from orders
group by cust_id
having count(\*) >= 2
該語句會根據cust_id進行分組並過濾出orders>=2的分組
3、having和where的區別:
where在數據分組前進行過濾,having在數據分組後進行過濾,這是一個重要的區別,where排除的行不包括在分組中,這可能會改變計算之,從而影響having子句中基於這些值過濾掉的分組。
4、select子句的順序
子句 | 說明 | 是否必須使用 |
---|---|---|
SELECT | 要返回的列或表達式 | 是 |
FROM | 從中檢索數據的表 | 盡在從表選擇數據時使用 |
WHERE | 行級過濾 | 否 |
GROUP | 分組說明 | 僅在按組計算聚集時使用 |
HAVING | 組級過濾 | 否 |
ORDER BY | 輸出排序順序 | 否 |