在本章中,我們將介紹Access中如何計(jì)算如何分組記錄。 我們創(chuàng)建了一個(gè)按行計(jì)算或按記錄計(jì)算的字段來創(chuàng)建行總計(jì)或小計(jì)字段,但是如果想通過分組記錄而不是單個(gè)記錄來計(jì)算,那該怎么辦呢? 可以通過創(chuàng)建聚合查詢來實(shí)現(xiàn)這一點(diǎn)。
聚合查詢也稱為總計(jì)或匯總查詢是總和,質(zhì)量或組的詳細(xì)信息。它可以是總金額或總金額或記錄的組或子集。 聚合查詢可以執(zhí)行許多操作。下面是一個(gè)簡單的表格,列出了分組記錄中總的方法。
編號(hào) | 聚合函數(shù) | 描述 |
---|---|---|
1 | Sum | 相加字段值 |
2 | Avg | 字段值的平均值 |
3 | Min | 字段值的最小值 |
4 | Max | 字段值的最小值 |
5 | Count | 計(jì)數(shù)值(記錄/行數(shù)量) |
6 | StDev | 字段值的標(biāo)準(zhǔn)偏差包括日期/時(shí)間字段 |
7 | Var | 字段值的變化,包括日期/時(shí)間 |
打開數(shù)據(jù)庫并轉(zhuǎn)到查詢?cè)O(shè)計(jì),這是一個(gè)圖書銷售管理數(shù)據(jù)庫。其中包含以下幾個(gè)表 -
這是一個(gè)簡單的查詢,只顯示兩個(gè)字段 - 書名(BookTitle
)和購買數(shù)量(BuyNumber
),當(dāng)運(yùn)行它,我們看到數(shù)據(jù)庫中的每一個(gè)單獨(dú)的訂單。
現(xiàn)在運(yùn)行這個(gè)查詢,會(huì)看到下面的結(jié)果。
可以看到書名有重復(fù)。 這里的每本書都有單獨(dú)的訂單,而且訂購的數(shù)量也不同。 讓我們假設(shè)只想看到只列出了有購買記錄的書名的摘要。 然后是其旁邊列出的數(shù)量的總和。
打開進(jìn)入設(shè)計(jì)視圖,在設(shè)計(jì)選項(xiàng)卡中,將看到一個(gè)西格瑪符號(hào)。 這是用于總計(jì)按鈕。
單擊將在表格行中的字段下方打開另一行的西格瑪符號(hào),從這里可以指定如何對(duì)此查詢進(jìn)行分組。
現(xiàn)在可以看到所有訂單中每本圖書的購買數(shù)量。運(yùn)行結(jié)果如下 -
我們學(xué)習(xí)了規(guī)范化的過程,將信息存儲(chǔ)在不同的字段。 有時(shí),您想要查看或查看數(shù)據(jù),例如將Name
和phone
字段組合為單個(gè)字段??梢酝ㄟ^創(chuàng)建連接一個(gè)或多個(gè)字符串的計(jì)算字段一起顯示該信息。還可以添加其他字符,如逗號(hào)或句點(diǎn),也可能需要。
要在Access中進(jìn)行連接,可以使用兩個(gè)不同的運(yùn)算符(&
)和加號(hào)(+
)。
&
符號(hào)將兩個(gè)字符串合并為一個(gè),而加號(hào)將合并兩個(gè)字符串并使用NULL
值,例如,如果一個(gè)值為NULL
,則整個(gè)表達(dá)式的計(jì)算結(jié)果為null
。
下面舉一個(gè)簡單的例子來理解使用查詢?cè)O(shè)計(jì)創(chuàng)建新查詢的過程。 這將是一個(gè)非常簡單的查詢,從客戶的表中提取信息。
現(xiàn)在添加tblCustomers
表關(guān)閉顯示表對(duì)話框。將嘗試一些簡單的命名字段的連接。
現(xiàn)在添加Name
,Address
和Phone
字段構(gòu)成一個(gè)送化地址并運(yùn)行查詢。
正如所看到的,Name
,Address
和Phone
分成三個(gè)不同的字段。
返回到設(shè)計(jì)視圖,在第四個(gè)字段中創(chuàng)建一個(gè)名為全名的新字段。 現(xiàn)在,添加完整名稱并鍵入連接這三個(gè)字段的表達(dá)式:送貨地址: tblCustomers.Address+tblCustomers.Name+tblCustomers.Phone
。如下所示 -
運(yùn)行查詢,會(huì)看到一個(gè)新的計(jì)算字段 - 送貨地址
。
它可以將來自這三個(gè)字段的信息連接在一起,但它并不完全以想要的方式出現(xiàn)。 它運(yùn)行顯示所有的文本,因?yàn)樗凑找蟮姆绞綀?zhí)行。現(xiàn)在必須要求Access在這兩個(gè)字段的信息之間增加空格 - 送貨地址: [tblCustomers].[Address]+" "+[tblCustomers].[Name]+" "+[tblCustomers].[Phone]
。執(zhí)行結(jié)果如下 -