2013年7月11日 星期四

SQL語法 GROUP BY - 分組計數/加總

所謂GROUP BY就是在所有資料中的某個欄位屬性下

檢查欄位值是否有相同者,若有就將其分成同一組

依此組別來計算在這同一種欄位值下的資料筆數或是對其它欄位值做加總

如下以 dep 欄位做分組使有相同值的資料分在同一組,

SUM(salary) 是計算相同組別中salary欄位的加總

COUNT(*) 則代表同一組裡面有多少筆資料


SELECT dep,SUM(salary),COUNT(*)

from Table

GROUP BY dep


若 GROUP BY 後面接多個欄位

則表示以這些欄位的每個值做排列組合

依每一種組合方式為一組

如A欄位有{1 2 3 } B欄位有{4 5}

若GROUP BY A,B 時

就會有[1,4][1,5][2,4][2,5][3,4][3,5]等六個組別

這做法需同時在 SELECT 後面加上相同欄位名以示結果

如下語法

SELECT A,B,COUNT(*)

from Table

GROUP BY A,B




沒有留言:

張貼留言