1. 程式人生 > 其它 >【SQL必知必會】第10課 資料分組

【SQL必知必會】第10課 資料分組

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 BY
vend_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 子句順序