請求書テーブルの場合のように、テーブル内のレコードが論理的に関連していることがあります。 1 人の顧客が多数の請求書を持つことができるため、グループに関する統計情報と概要情報を見つけるために、1 人の顧客のすべての請求書をグループとして処理すると便利な場合があります。
レコードをグループ化するために重要な点は、グループ化するすべてのレコードの 1 つ以上のフィールドに同じ値が入っていなければならないということです。 請求書テーブルの場合、特定の得意先に対して作成されるすべての請求書で [CustomerID] フィールドの値は同一です。
レコードのグループを作成するには、グループ化するフィールドの名前を 指定して GROUP BY 句を使用します。
SELECT CustomerID, Count(*) AS [Number of Invoices],
Avg(Amount) AS [Average Invoice Amount]
FROM tblInvoices
GROUP BY CustomerID
明細書は、請求書テーブルに請求書レコードを持つすべての顧客に対して、顧客 ID、顧客が持っている請求書の数、および平均請求書金額を示す 1 つのレコードを返します。 各顧客請求書はグループとして処理されるため、請求書の数をカウントし、平均請求書金額を決定できます。
WHERE 句と同様の HAVING 句を使用して、グループ レベルで条件を指定できます。 たとえば、次のクエリでは、平均請求書金額が 100 未満の顧客ごとにそれらのレコードのみが返されます。
SELECT CustomerID, Count(*) AS [Number of Invoices],
Avg(Amount) AS [Average Invoice Amount]
FROM tblInvoices
GROUP BY CustomerID
HAVING Avg(Amount) < 100
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。