[SQL 筆記備份]- 014_SQL查詢資料做分群總和計算(GROUP BY+SUM)
[SQL 筆記備份]- 014_SQL查詢資料做分群總和計算(GROUP BY+SUM)
資料來源:http://www.1keydata.com/tw/sql/sqlgroupby.html
我們現在回到函數上。記得我們用 SUM 這個指令來算出所有的 Sales (營業額) 吧!如果我們的需求變成是要算出每一間店 (Store_Name) 的營業額 (Sales),那怎麼辦呢?在這個情況下,我們要做到兩件事:第一,我們對於 Store_Name 及 Sales 這兩個欄位都要選出。第二,我們需要確認所有的 Sales 都要依照各個 Store_Name 來分開算。這個語法為:
SELECT “欄位1”, SUM(“欄位2”)
FROM “表格名”
GROUP BY “欄位1”;
FROM “表格名”
GROUP BY “欄位1”;
在我們的範例上,
Store_Information 表格
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-1999 |
我們鍵入,
SELECT Store_Name, SUM(Sales)
FROM Store_Information
GROUP BY Store_Name;
FROM Store_Information
GROUP BY Store_Name;
結果:
Store_Name | SUM(Sales) |
Los Angeles | 1800 |
San Diego | 250 |
Boston | 700 |
當我們選不只一個欄位,且其中至少一個欄位有包含函數的運用時,我們就需要用到 GROUP BY 這個指令。在這個情況下,我們需要確定我們有 GROUP BY 所有其他的欄位。換句話說,除了有包括函數的欄位外,我 們都需要將其放在 GROUP BY 的子句中。