【SQL必知必會】第10課 資料分組
阿新 • • 發佈:2022-03-27
Group By
1、每一列都有效(不能是聚集函式),Group by 後接相同表示式(不可是別名)
2、列中不能是長度可變的資料型別(如文字或備註型)
3、NULL單獨成組
10.1 資料分組
我們找出ID號為DLL01的產品個數
-- 我們找出ID號為DLL01的產品個數 SELECT COUNT(*) AS num_prods FROM Products WHERE vend_id = 'DLL01'
10.2 建立分組
但怎麼找到各個ID號不同的產品個數呢?
SELECT vend_id, COUNT(*) AS num_prods FROM Products GROUP BYvend_id;
10.3 過濾分組
哪些貨品超過2單?
SELECT cust_id, COUNT(*) AS orders FROM Orders GROUP BY cust_id HAVING COUNT(*) >= 2;
價格超過4,同時數量超過2的?
SELECT vend_id, COUNT(*) AS num_prods FROM Products WHERE prod_price >= 4 GROUP BY vend_id HAVING COUNT(*) >= 2;
10.4 分組和排序
SELECT order_num, COUNT(*) AS items FROM OrderItems GROUP BY order_num HAVING COUNT(*) >= 3 ORDER BY items, order_num;
10.5 SELECT 子句順序