本文說明如何在 Access 中使用一種稱為彙總函數的函式,將查詢結果集的資料加總。 本文也簡要說明如何使用其他聚合函數,如 COUNT 和 AVG ,來計算或平均結果集中的數值。 此外,本文也說明如何使用 Total Row,這是 Access 中的一項功能,可以無需更改查詢設計即可彙總資料。
您想要做什麼?
了解如何彙整資料
你可以用一種叫做彙總函數的函數來求和查詢中的一欄數字。 聚合函數對一列資料進行計算,並回傳單一值。 Access 提供多種彙總函數,包括計算平均值) 、最小值與最大值的總和、計數、平均 (。 你透過在查詢中加入 Sum 函數來彙總資料,使用 Count 函數來計數資料,依此類推。
此外,Access 提供多種方式,將 Sum 及其他彙總函數加入查詢。 您可以:
- 在資料表檢視中開啟你的查詢並新增一個總資料列。 Access中的「全列」功能允許你在查詢結果集的一個或多個欄位中使用彙總函數,而無需更改查詢設計。
- 建立一個總數查詢。 總計查詢用於計算跨紀錄群組的子計;總計列計算一個或多個欄位 (欄位) 資料的總計。 例如,如果你想依城市或季度細計所有銷售,你會用總數查詢將紀錄依照目標類別分組,然後將銷售數字加總。
- 建立一個交叉表查詢。 交叉表查詢是一種特殊的查詢方式,會以類似 Excel 工作表的網格形式顯示結果。 交叉表查詢會總結你的數值,然後依兩組事實分組——一組放在) 列標題側邊,另一組則放在) 列標題 ( (。 例如,你可以使用交叉表查詢來顯示過去三年各城市的銷售總額,如下表所示:
| 城市 | 2003 | 2004 | 2005 |
|---|---|---|---|
| 巴黎 | 254,556 | 372,455 | 467,892 |
| 雪梨 | 478,021 | 372,987 | 276,399 |
| Jakarta | 572,997 | 684,374 | 792,571 |
| ... | ... | ... | ... |
注意
本文件中的操作部分強調使用 Sum 函數,但請記得你也可以在 Total 列和查詢中使用其他彙總函數。 欲了解更多關於使用其他聚合函數的資訊,請參閱本文後面的 聚合函數參考 章節。
欲了解更多使用其他彙總函數的方法,請參閱「 在資料表中顯示欄位總數」一文。
接下來的步驟說明如何新增總計列、使用總計查詢來跨群組加總資料,以及如何使用跨群組和時間區間的交叉表查詢資料。 在進行過程中,請記得許多彙總函數只適用於設定在特定資料型態欄位的資料。 例如, SUM 函式僅適用於設定為數字、小數位或貨幣資料型別的欄位。 關於每個函數所需的資料型態,請參閱本文後面的 「彙總函數參考」章節。
關於資料型態的一般資訊,請參閱 文章《修改或變更欄位的資料型別集》。
準備一些樣本資料
本文的操作說明部分提供了範例資料表。 操作步驟會利用範例表幫助你理解彙總函數的運作方式。 如果你願意,也可以選擇將樣本資料表加入新的或現有的資料庫。
Access 提供多種方式將這些樣本資料表加入資料庫。 你可以手動輸入資料,也可以將每個表格複製到試算表程式(如 Excel),再匯入工作表到 Access,或者將資料貼到文字編輯器(如記事本)中,從產生的文字檔案匯入資料。
本節步驟說明如何在空白資料表中手動輸入資料,以及如何將樣本表複製到試算表程式,然後再匯入 Access。 欲了解更多關於建立與匯入文字資料的資訊,請參閱文章 「匯入或連結到文字檔案中的資料」。
本文的操作步驟使用以下表格。 請使用這些表格來建立你的樣本資料:
類別表:
| 分類 |
|---|
| 娃娃 |
| 遊戲與謎題 |
| 藝術與構圖 |
| 電子遊戲 |
| DVD 與電影 |
| 模特兒與興趣 |
| 運動 |
產品表:
| 產品名稱 | 價格 | 分類 |
|---|---|---|
| 程式設計師公仔 | 12.95美元 | 娃娃 |
| C# (一款適合全家玩的桌遊) | $15.85 | 遊戲與謎題 |
| 關聯式資料庫圖 | 22.50美元 | 藝術與構圖 |
| 魔法電腦晶片 (500塊) | 32.65美元 | 遊戲與謎題 |
| 進入! 遊戲! | 22.95美元 | 遊戲與謎題 |
| 電腦極客與神話生物 | 78.50美元 | 電子遊戲 |
| 電腦極客的運動! The DVD! | $14.88 | DVD 與電影 |
| 終極飛行披薩 | 36.75美元 | 運動 |
| 外接 5.25 吋軟碟機 (1/4 比例) | 65.00美元 | 模特兒與興趣 |
| 官僚非動作公仔 | 78.88美元 | 娃娃 |
| 陰鬱 | 53.33美元 | 電子遊戲 |
| 自己打造鍵盤 | 77.95美元 | 模特兒與興趣 |
訂單表:
| 訂單日期 | 出貨日期 | 船城 | 運費 |
|---|---|---|---|
| 11/14/2005 | 11/15/2005 | Jakarta | 55.00美元 |
| 11/14/2005 | 11/15/2005 | 雪梨 | 76.00美元 |
| 11/16/2005 | 11/17/2005 | 雪梨 | 87美元 |
| 11/17/2005 | 11/18/2005 | Jakarta | 43.00美元 |
| 11/17/2005 | 11/18/2005 | 巴黎 | 105美元 |
| 11/17/2005 | 11/18/2005 | 斯圖加特 | $112.00 |
| 11/18/2005 | 11/19/2005 | 維也納 | $215.00 |
| 11/19/2005 | 11/20/2005 | 邁阿密 | 525.00美元 |
| 11/20/2005 | 11/21/2005 | 維也納 | $198.00 |
| 11/20/2005 | 11/21/2005 | 巴黎 | $187.00 |
| 11/21/2005 | 11/22/2005 | 雪梨 | 81美元 |
| 11/23/2005 | 11/24/2005 | Jakarta | 92.00美元 |
訂單詳情表:
| 訂單識別碼 | 產品名稱 | 產品 ID | 單位價格 | 數量 | Discount |
|---|---|---|---|---|---|
| 1 | 自己打造鍵盤 | 12 | 77.95美元 | 9 | 5% |
| 1 | 官僚非動作公仔 | 2 | 78.88美元 | 4 | 7.5% |
| 2 | 電腦極客的運動! The DVD! | 7 | $14.88 | 6 | 4% |
| 2 | 魔法電腦晶片 | 4 | 32.65美元 | 8 | 0 |
| 2 | 電腦極客與神話生物 | 6 | 78.50美元 | 4 | 0 |
| 3 | 進入! 遊戲! | 5 | 22.95美元 | 5 | 15% |
| 4 | 程式設計師動作公仔 | 1 | 12.95美元 | 2 | 6% |
| 4 | 終極飛行披薩 | 8 | 36.75美元 | 8 | 4% |
| 5 | 外接 5.25 吋軟碟機 (1/4 比例) | 9 | 65.00美元 | 4 | 10% |
| 6 | 關聯式資料庫圖 | 3 | 22.50美元 | 12 | 6.5% |
| 7 | 陰鬱 | 11 | 53.33美元 | 6 | 8% |
| 7 | 關聯式資料庫圖 | 3 | 22.50美元 | 4 | 9% |
注意
請記得,在典型的資料庫中,訂單詳情表只會包含產品識別欄位,而非產品名稱欄位。 範例表使用產品名稱欄位,使資料更易閱讀。
手動輸入範例資料
在 [建立] 索引標籤的 [資料表] 群組中,按一下 [資料表]。
Access 會在您的資料庫中新增新的空白資料表。注意
如果您開啟新的空白資料庫,則無需按照此步驟進行。不過,每當您需要在資料庫中新增資料表時,則要按照此步驟進行。
雙擊標頭列的第一個儲存格,並在範例表格中輸入欄位名稱。
預設情況下,Access 會以「 新增新欄位」表示標頭列的空白欄位,並以「新增欄位」為文字,如下所示:
使用方向鍵移動到下一個空白標頭儲存格,並輸入第二個欄位名稱 (你也可以按 TAB 或雙擊新儲存格) 。 重複這個步驟直到輸入所有欄位名稱。
在範例資料表中輸入資料。
當您輸入資料時,Access 會推斷每個欄位的資料類型。 如果你是關聯式資料庫的新手,應該為表格中的每個欄位設定特定的資料型態,例如數字、文字或日期/時間。 設定資料型別有助於確保資料輸入的準確性,也有助於避免錯誤,例如在計算中使用電話號碼。 對於這些範例表,你應該讓 Access 自行推斷資料型態。輸入完資料後,點擊 儲存。
鍵盤快捷鍵:按 CTRL+S。
[另存新檔] 對話方塊隨即出現。在 資料表名稱 框中輸入範例資料表名稱,然後點擊 確定。
你使用每個範例表的名稱,是因為操作說明部分的查詢會用這些名稱。重複這些步驟,直到你建立本節開頭列出的每個範例表。
如果你不想手動輸入資料,請依照下一步步驟將資料複製到試算表檔案,然後將試算表檔案中的資料匯入 Access。
建立範例工作表
啟動你的試算表程式,建立一個新的空白檔案。 如果你用 Excel,它預設會建立一個新的空白工作簿。
複製上面提供的第一個範例表,並從第一個單元開始貼到第一張工作表中。
利用試算表程式提供的技巧,將工作表重新命名。 請將工作紙取名為範例表。 例如,如果範例表名為 Categories,請給你的工作表取同樣的名字。
重複步驟2和3,將每個範例表格複製到空白工作紙,並重新命名工作表。
注意
你可能需要把工作表加入試算表檔案。 關於如何執行該任務,請參閱試算表程式的說明。
將活頁簿儲存到您的電腦或網路中方便使用的位置,然後進行下一組步驟。
從工作表建立資料庫資料表
- 在外部資料標籤,匯入 & 連結群組,點選「從Excel檔案>新增資料來源>」。
「 取得外部資料 - Excel 試算表 」對話框會出現。 -
點選瀏覽,打開你之前步驟建立的試算表檔案,然後點確定。
[匯入試算表精靈] 隨即啟動。 - 預設情況下,若你依照前一節步驟) ,精靈會選擇工作簿中的第一個工作表 (客戶工作表 ,而工作表的資料會出現在精靈頁面的下方。 按一下 [下一步]。
- 在精靈的下一頁,點選 「第一列包含欄位標題」,然後點擊 「下一步」。
- 可選擇在下一頁使用 欄位選項 中的文字框與清單,變更欄位名稱與資料型態,或省略匯入操作中的欄位。 否則,請按一下 [下一步]。
- 選擇「 讓存取新增主鍵 」選項,然後點 選「下一步」。
- 根據預設,Access 會將工作表名稱套用到您的新資料表。 接受名稱或輸入其他名稱,然後點擊 完成。
- 重複步驟1到7,直到你從工作簿中的每個工作紙建立出一張表格。
重新命名主鍵欄位
注意
當你匯入工作表時,Access 會自動為每個表格新增一個主鍵欄位,預設情況下,Access 將該欄位命名為「ID」,並設定為 AutoNumber 資料型別。 步驟說明了如何重新命名每個主鍵欄位。 這樣做有助於清楚辨識查詢中的所有欄位。
- 在導覽窗格中,右鍵點擊你在前幾個步驟中建立的每張表格,然後點選 「設計檢視」。
- 每個表格的主鍵欄位。 預設情況下,Access 會為每個欄位 ID 命名。
- 在每個主鍵欄位的 欄位 名稱欄位中,加入表格名稱。
例如,你可以將類別表的 ID 欄位改為「Category ID」,訂單表的欄位改為「Order ID」。在訂單詳情表中,將欄位重新命名為「Detail ID」。對於產品資料表,將欄位重新命名為「Product ID」。 - 儲存變更。
每當範例表出現在本篇文章中時,都會包含主鍵欄位,並且該欄位會依照前述步驟重新命名。
使用總列(Total row)來求和資料
你可以在查詢中新增一個總列,方法是在資料表檢視中開啟查詢,新增該列,然後選擇你想使用的彙總函數,例如 總和、 最小值、 最大值或 平均值。本節步驟說明如何建立基本的選擇查詢並新增總列。 你不需要使用前一節描述的樣本表。
建立一個基本的選擇查詢
- 在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
- 雙擊你想在查詢中使用的表格或表格。
所選的資料表或資料表會以視窗的形式出現在查詢設計器的上方。 - 雙擊你想在查詢中使用的資料表欄位。
你可以包含包含描述性資料的欄位,例如姓名和描述,但必須包含包含數字或貨幣資料的欄位。
每個欄位都出現在設計格子中的一個格子裡。 - 點擊 「執行
」來執行查詢。
查詢結果集會顯示在資料表檢視中。 - 可選擇切換到設計檢視並調整你的查詢信。 要做到這點,請右鍵點擊查詢文件標籤,然後點選 設計檢視。 接著你可以根據需要,透過新增或移除表格欄位來調整查詢內容。 要移除欄位,請在設計網格中選擇欄位並按下刪除。
- 儲存你的查詢。
新增一行
- 請確保你的查詢在資料表檢視中開啟。 要做到這點,請右鍵點擊查詢的文件標籤,然後點選 資料表檢視。
-或-
在導覽窗格中,雙擊查詢。 這會執行查詢並將結果載入資料表。 - 在 [常用] 索引標籤上,按一下 [記錄] 群組中的 [合計]。
你的資料表中會出現新的 總計 列。 - 在 Total 列,點擊你想加總的欄位格,然後從列表中選擇 Sum 。
隱藏一行
- 在 [常用] 索引標籤上,按一下 [記錄] 群組中的 [合計]。
欲了解更多關於使用總資料列的資訊,請參閱「 在資料表中顯示欄位總數」一文。
透過查詢計算總額
總和是一欄中所有值的總和。 你可以計算多種總計,包括:
- 一個簡單的總和,將所有數值加總於一欄。 例如,你可以計算總運費。
- 一個計算出的總和,將多欄的數值加總。 例如,你可以將多件商品的成本乘以訂購商品數量,再將所得數值加總,來計算總銷售額。
- 總數排除部分紀錄。 例如,你可以只計算上週五的總銷售額。
接下來的步驟將說明如何產生每種總計。 這些步驟會使用訂單表和訂單細節表。
訂單表
| 訂單識別碼 | 訂單日期 | 出貨日期 | 船城 | 運費 |
|---|---|---|---|---|
| 1 | 11/14/2005 | 11/15/2005 | Jakarta | 55.00美元 |
| 2 | 11/14/2005 | 11/15/2005 | 雪梨 | 76.00美元 |
| 3 | 11/16/2005 | 11/17/2005 | 雪梨 | 87美元 |
| 4 | 11/17/2005 | 11/18/2005 | Jakarta | 43.00美元 |
| 5 | 11/17/2005 | 11/18/2005 | 巴黎 | 105美元 |
| 6 | 11/17/2005 | 11/18/2005 | 斯圖加特 | $112.00 |
| 7 | 11/18/2005 | 11/19/2005 | 維也納 | $215.00 |
| 8 | 11/19/2005 | 11/20/2005 | 邁阿密 | 525.00美元 |
| 9 | 11/20/2005 | 11/21/2005 | 維也納 | $198.00 |
| 10 | 11/20/2005 | 11/21/2005 | 巴黎 | $187.00 |
| 11 | 11/21/2005 | 11/22/2005 | 雪梨 | 81美元 |
| 12 | 11/23/2005 | 11/24/2005 | Jakarta | 92.00美元 |
訂單細節表
| 詳細識別 | 訂單識別碼 | 產品名稱 | 產品 ID | 單位價格 | 數量 | Discount |
|---|---|---|---|---|---|---|
| 1 | 1 | 自己打造鍵盤 | 12 | 77.95美元 | 9 | 0.05 |
| 2 | 1 | 官僚非動作公仔 | 2 | 78.88美元 | 4 | 0.075 |
| 3 | 2 | 電腦極客的運動! The DVD! | 7 | $14.88 | 6 | 0.04 |
| 4 | 2 | 魔法電腦晶片 | 4 | 32.65美元 | 8 | 0.00 |
| 5 | 2 | 電腦極客與神話生物 | 6 | 78.50美元 | 4 | 0.00 |
| 6 | 3 | 進入! 遊戲! | 5 | 22.95美元 | 5 | 0.15 |
| 7 | 4 | 程式設計師動作公仔 | 1 | 12.95美元 | 2 | 0.06 |
| 8 | 4 | 終極飛行披薩 | 8 | 36.75美元 | 8 | 0.04 |
| 9 | 5 | 外接 5.25 吋軟碟機 (1/4 比例) | 9 | 65.00美元 | 4 | 0.10 |
| 10 | 6 | 關聯式資料庫圖 | 3 | 22.50美元 | 12 | 0.065 |
| 11 | 7 | 陰鬱 | 11 | 53.33美元 | 6 | 0.08 |
| 12 | 7 | 關聯式資料庫圖 | 3 | 22.50美元 | 4 | 0.09 |
計算一個簡單的總和
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
雙擊你想用在查詢中的表格。
如果你使用範例資料,請雙擊訂單表。
該表格會出現在查詢設計器上方的視窗中。雙擊你想加總的欄位。 請確保欄位設定為「數字」或「貨幣」資料類型。 如果你嘗試在非數字欄位(如文字欄位)中加總值,執行查詢時 Access 會顯示 資料型別不符於條件表達 式錯誤訊息。
如果你使用範例資料,請雙擊運費欄位。
如果你想計算這些欄位的總數,可以在網格中加入額外的數值欄位。 總數查詢可以計算多欄的總計。在查詢設計標籤的顯示/隱藏群組中,點選「總計」。
總計列顯示在設計網格中,Group By 顯示在運送費欄位的儲存格中。將 Total 列中格子的值改為 Sum。
點擊 執行
以執行查詢並在資料表檢視中顯示結果。秘訣
請注意,Access 會在你所加總欄位名稱的開頭加上「SumOf」。 若要將欄位標題改為更有意義的,例如 總運送,請切回設計檢視,並在設計網格中「運費」欄的欄位列點選「 欄位 」。 將游標放在 運費 旁邊,輸入「 Total Shipping」,接著冒號,就像這樣: Total Shipping: Shipping Fee。
也可以選擇儲存查詢並關閉它。
計算一個總數,排除部分紀錄
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
雙擊訂單表和訂單細節表。
將訂單資料表中的訂單日期欄位加入查詢設計網格的第一欄。
在第一欄的 Criteria 列輸入 Date () -1。 這個表達式將當天的紀錄排除在計算總數之外。
接著,建立計算每筆交易銷售金額的欄位。 在網格第二欄的 欄位 欄位輸入以下表達式:
總銷售價值: (1-[訂單詳情]。[折扣]/100) * ([訂單詳情]。[單價]*[訂單詳情]。[數量])
確保你的表達式參考欄位設為 Number 或 Currency 資料型別。 如果你的表達式指向設定為其他資料型別的欄位,當你嘗試執行查詢時,Access 會顯示「 基準表達式資料型別不匹配 」的訊息。在查詢設計標籤的顯示/隱藏群組中,點選「總計」。
Total 列出現在設計格子中,Group By 則出現在第一和第二欄。在第二欄,將 Total 列的格子值改為 Sum。 總和函數會將個別銷售數字相加。
點擊 執行
以執行查詢並在資料表檢視中顯示結果。將查詢儲存為 每日銷售。
注意
下次你在設計檢視中開啟查詢時,可能會注意到總銷售價值欄位欄位的 欄位 和 總計 列中指定的值有些微變化。 表達式會被包裹在 Sum 函式中,而 Total 列顯示 的是 Expression 而非 Sum。
例如,如果你使用樣本資料並依照前述步驟) 建立查詢 (,你會看到:
總銷售價值:總和 ( (1-[訂單詳情]。折扣/100) * ([訂單詳情]。單價*[訂單詳情]。數量) )
透過總數查詢計算群組總數
本節步驟說明如何建立一個總計查詢,以計算資料群組間的子總數。 在進行過程中,請記得預設情況下,總計查詢只能包含包含你團體資料的欄位,例如「分類」欄位,以及包含你想要加總資料的欄位,例如「銷售」欄位。 總數查詢不得包含描述類別中項目的其他欄位。 如果你想看到描述性資料,可以建立第二個選擇查詢,將總數查詢中的欄位與額外的資料欄位結合起來。
本節步驟說明如何建立總銷售額,並選擇查詢以識別每項產品的總銷售額。 步驟假設使用以下範例表:
產品表
| 產品 ID | 產品名稱 | 價格 | 分類 |
|---|---|---|---|
| 1 | 程式設計師公仔 | 12.95美元 | 娃娃 |
| 2 | C# (一款適合全家玩的桌遊) | $15.85 | 遊戲與謎題 |
| 3 | 關聯式資料庫圖 | 22.50美元 | 藝術與構圖 |
| 4 | 魔法電腦晶片 (500塊) | 32.65美元 | 藝術與構圖 |
| 5 | 進入! 遊戲! | 22.95美元 | 遊戲與謎題 |
| 6 | 電腦極客與神話生物 | 78.50美元 | 電子遊戲 |
| 7 | 電腦極客的運動! The DVD! | $14.88 | DVD 與電影 |
| 8 | 終極飛行披薩 | 36.75美元 | 運動 |
| 9 | 外接 5.25 吋軟碟機 (1/4 比例) | 65.00美元 | 模型與興趣 |
| 10 | 官僚非動作公仔 | 78.88美元 | 娃娃 |
| 11 | 陰鬱 | 53.33美元 | 電子遊戲 |
| 12 | 自己打造鍵盤 | 77.95美元 | 模型與興趣 |
訂單細節表
| 詳細識別 | 訂單識別碼 | 產品名稱 | 產品 ID | 單位價格 | 數量 | Discount |
|---|---|---|---|---|---|---|
| 1 | 1 | 自己打造鍵盤 | 12 | 77.95美元 | 9 | 5% |
| 2 | 1 | 官僚非動作公仔 | 2 | 78.88美元 | 4 | 7.5% |
| 3 | 2 | 電腦極客的運動! The DVD! | 7 | $14.88 | 6 | 4% |
| 4 | 2 | 魔法電腦晶片 | 4 | 32.65美元 | 8 | 0 |
| 5 | 2 | 電腦極客與神話生物 | 6 | 78.50美元 | 4 | 0 |
| 6 | 3 | 進入! 遊戲! | 5 | 22.95美元 | 5 | 15% |
| 7 | 4 | 程式設計師動作公仔 | 1 | 12.95美元 | 2 | 6% |
| 8 | 4 | 終極飛行披薩 | 8 | 36.75美元 | 8 | 4% |
| 9 | 5 | 外接 5.25 吋軟碟機 (1/4 比例) | 9 | 65.00美元 | 4 | 10% |
| 10 | 6 | 關聯式資料庫圖 | 3 | 22.50美元 | 12 | 6.5% |
| 11 | 7 | 陰鬱 | 11 | 53.33美元 | 6 | 8% |
| 12 | 7 | 關聯式資料庫圖 | 3 | 22.50美元 | 4 | 9% |
以下步驟假設訂單表中的產品識別欄位與訂單細節表之間的一對多關係,訂單表位於關係的「一」側。
建立總數查詢
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
選擇你想處理的資料表,然後點 選新增。
每個資料表都會隨即在查詢設計師的上半部以視窗形式出現。
如果你使用前面列出的樣本表,則會新增產品和訂單細節表。雙擊你想在查詢中使用的資料表欄位。
一般來說,查詢中只會新增群組欄位和值欄位。 不過,你可以用計算代替值欄位——接下來的步驟會說明如何操作。將產品表中的類別欄位加入設計網格。
在網格的第二欄輸入以下表達式,建立計算每筆交易銷售金額的欄位:
總銷售價值: (1-[訂單詳情]。[折扣]/100) * ([訂單詳情]。[單價]*[訂單詳情]。[數量])
請確保你在表達式中引用的欄位是 Number 或 Currency 資料類型。 如果你參考其他資料型態的欄位,當你嘗試切換到 Datasheet 檢視時,Access 會顯示 「資料型別表達式不符 」的錯誤訊息。在查詢設計標籤的顯示/隱藏群組中,點選「總計」。
Total 列出現在設計網格中,而該列的第一和第二欄則有 Group By 。在第二欄,將 總值 列的值改為 「總和」。 總和函數會將個別銷售數字相加。
點擊 執行
以執行查詢並在資料表檢視中顯示結果。請保持查詢開啟,以便下一節使用。
在總數查詢中使用條件
你在前一節建立的查詢包含了底層資料表中的所有紀錄。 計算總數時不排除任何排序,並顯示所有類別的總和。
如果你需要排除某些紀錄,可以在查詢中加入條件。 例如,您可以忽略低於 100 美元的交易,或只計算部分產品類別的總額。 本節步驟說明如何使用三種標準:計算總數時忽略某些群體的標準。 例如,你會計算電子遊戲、藝術與裝裱以及運動類別的總分。
這些標準在計算後會隱藏某些總數。 例如,你可以只顯示超過150,000美元的總額。
排除個別紀錄納入總數的標準。 例如,當單價 * 數量) 低於 $100 時,您可以排除單 (銷售交易。
以下步驟將說明如何逐一加入條件,並觀察對查詢結果的影響。
在查詢中加入條件在設計檢視中開啟前一節的查詢。 要做到這點,請右鍵點擊查詢文件標籤,然後點選 設計檢視。
-或-
在導覽窗格中,右鍵點擊查詢並點選 「設計檢視」。在類別識別欄的 標準 列中,輸入 =Dolls Or Sports 或 Art and Framing。
點擊 執行
以執行查詢並在資料表檢視中顯示結果。切回設計檢視,在總銷售價值欄>的標準欄輸入 100。
執行查詢查看結果,然後切回設計檢視。
現在再加入排除低於100美元的個別銷售交易的標準。 為此,你需要新增一欄。
注意
你無法在總銷售價值欄位指定第三項條件。 你在本欄指定的任何標準都適用於總數值,而非個別數值。
將第二欄的表達式複製到第三欄。
在新欄位的總數列中,選擇「哪裡」,在條件列輸入 >20。
執行查詢查看結果,然後儲存查詢。
注意
下次你在設計檢視中開啟查詢時,可能會注意到設計格子有些微變化。 在第二欄, 欄位 列的表達式會被 Sum 函式包圍,而 Total 列的值則顯示 Expression 而非 Sum。
總銷售價值:總和 ( (1-[訂單詳情]。折扣/100) * ([訂單詳情]。單價*[訂單詳情]。數量) )
你還會看到第四欄。 這欄是第二欄的複製品,但你在第二欄指定的條件實際上會作為新欄的一部分出現。
透過交叉表查詢,將多組資料加總
交叉表查詢是一種特殊類型的查詢,會以類似 Excel 工作表的網格形式顯示結果。 交叉表查詢會總結你的數值,然後依兩組事實分組——一組放在一組列標題 () 側邊,另一組則橫跨 (一組欄位標題) 。 此圖展示了範例交叉表查詢結果集的一部分:
在進行過程中,請記得交叉表查詢並不一定會填滿結果集中的所有欄位,因為你在查詢中使用的表格並不總是包含所有可能的資料點的值。
當你建立交叉表查詢時,通常會包含多個資料表的資料,並且總是包含三種類型的資料:用作列標題的資料、用作欄位標題的資料,以及你想要加總或以其他方式計算的數值。
本節步驟假設以下表格:
訂單表
| 訂單日期 | 出貨日期 | 船城 | 運費 |
|---|---|---|---|
| 11/14/2005 | 11/15/2005 | Jakarta | 55.00美元 |
| 11/14/2005 | 11/15/2005 | 雪梨 | 76.00美元 |
| 11/16/2005 | 11/17/2005 | 雪梨 | 87美元 |
| 11/17/2005 | 11/18/2005 | Jakarta | 43.00美元 |
| 11/17/2005 | 11/18/2005 | 巴黎 | 105美元 |
| 11/17/2005 | 11/18/2005 | 斯圖加特 | $112.00 |
| 11/18/2005 | 11/19/2005 | 維也納 | $215.00 |
| 11/19/2005 | 11/20/2005 | 邁阿密 | 525.00美元 |
| 11/20/2005 | 11/21/2005 | 維也納 | $198.00 |
| 11/20/2005 | 11/21/2005 | 巴黎 | $187.00 |
| 11/21/2005 | 11/22/2005 | 雪梨 | 81美元 |
| 11/23/2005 | 11/24/2005 | Jakarta | 92.00美元 |
訂單細節表
| 訂單識別碼 | 產品名稱 | 產品 ID | 單位價格 | 數量 | Discount |
|---|---|---|---|---|---|
| 1 | 自己打造鍵盤 | 12 | 77.95美元 | 9 | 5% |
| 1 | 官僚非動作公仔 | 2 | 78.88美元 | 4 | 7.5% |
| 2 | 電腦極客的運動! The DVD! | 7 | $14.88 | 6 | 4% |
| 2 | 魔法電腦晶片 | 4 | 32.65美元 | 8 | 0 |
| 2 | 電腦極客與神話生物 | 6 | 78.50美元 | 4 | 0 |
| 3 | 進入! 遊戲! | 5 | 22.95美元 | 5 | 15% |
| 4 | 程式設計師動作公仔 | 1 | 12.95美元 | 2 | 6% |
| 4 | 終極飛行披薩 | 8 | 36.75美元 | 8 | 4% |
| 5 | 外接 5.25 吋軟碟機 (1/4 比例) | 9 | 65.00美元 | 4 | 10% |
| 6 | 關聯式資料庫圖 | 3 | 22.50美元 | 12 | 6.5% |
| 7 | 陰鬱 | 11 | 53.33美元 | 6 | 8% |
| 7 | 關聯式資料庫圖 | 3 | 22.50美元 | 4 | 9% |
以下步驟說明如何建立交叉表查詢,依城市分組總銷售額。 查詢會用兩個表達式回傳格式化日期和銷售總額。
建立交叉資料表查詢
- 在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
- 雙擊你想用在查詢中的表格。
每個資料表都會隨即在查詢設計師的上半部以視窗形式出現。
如果你使用範例表格,請雙擊訂單表和訂單詳情表。 - 雙擊你想在查詢中使用的欄位。
每個欄位名稱都會出現在設計格子 欄位列的 空白格子中。
如果你使用範例表,請從訂單表中加入船隻城市和船隻日期欄位。 - 在 欄位列的 下一個空白格中,複製貼上或輸入以下表達式: Total Sales: Sum (CCur ([訂單詳情].[單價]*[數量]* (1-[折扣]) /100) *100)
- 在 查詢設計 標籤的查詢 類型 群組中,點擊 交叉標籤。
總圖列與交叉表列會出現在設計網格中。 - 點擊城市欄位「 總數 」列的儲存格,選擇 「按群組」。 對「出貨日期」欄位也做同樣的處理。 將總銷售欄位的 總數 格值改為 表達式。
- 在 交叉標籤 列中,將城市欄位的儲存格設為 列標題,將出貨日期欄位設為 欄目,並將總銷售欄位設為 價值。
- 在 查詢設計 標籤的 結果 群組中,點選 執行。
查詢結果會顯示在資料表檢視中。
聚合函數參考
此表格列出並描述 Access 在 Total 列及查詢中所提供的彙總函式。 請記得 Access 提供的查詢彙總函數比 Total 列多。
| 功能鍵 | 描述 | 我們 e 的資料型別為 (s) |
|---|---|---|
| Average | 計算某欄的平均值。 該欄必須包含數字、貨幣或日期/時間資料。 此函數會忽略 Null 值。 | 數字、貨幣、日期/時間 |
| Count | 計算欄中的項目數量。 | 複雜的重複純量資料 (例如多重值清單欄) 以外的所有資料類型。 欲了解更多多值列表資訊,請參閱「 建立或刪除多值欄位」條目。 |
| Maximum | 傳回最高值的項目。 對於文字資料,最高值為最後一個字母值——Access 忽略大小寫。 此函數會忽略 Null 值。 | 數字、貨幣、日期/時間 |
| Minimum | 傳回最低值的項目。 對於文字資料,最低值為第一個字母值——Access 忽略大小寫。 此函數會忽略 Null 值。 | 數字、貨幣、日期/時間 |
| 標準差 | 衡量值與平均值 (平均數) 之間的離散程度。 欲了解更多使用此功能的資訊,請參閱「 在資料表中顯示欄位總數」一文。 |
數字、貨幣 |
| Sum | 加總欄中的項目。 僅適用於數字和貨幣資料。 | 數字、貨幣 |
| Variance | 計算欄中所有值的統計變異數。 此函數僅適用於數字和貨幣資料。 若資料表少於兩列,Access 會回傳空值。 欲了解更多變異數函數相關資訊,請參閱「 在資料表中顯示欄位總數」一文。 |
數字、貨幣 |