Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 综合其它

使用accessSQL对结果集中的记录进行分组

时 间:2008-05-31 09:15:15
作 者:UMVsoft整理   ID:43  城市:江阴
摘 要:使用 Access SQL 对结果集中的记录进行分组 
正 文:

    有时候,表中的某些记录在逻辑上相互关联,例如发票表中的记录。由于一个客户可以有许多发票,因此,可以将一个客户的所有发票视为一组,以便于查找有关该组的统计信息和汇总信息。

对记录进行分组的关键在于:对于组内的每个记录而言,记录中的一个或多个字段必须包含相同的值。对于发票表而言,特定客户具有的每个发票的“客户ID”字段值必须都是相同的。

要创建记录组,请使用 GROUP BY 子句以及要作为分组依据的字段名称。

Select CustomerID, Count(*) AS [Number of Invoices],
    Avg(Amount) AS [Average Invoice Amount]
    FROM tblInvoices
    GROUP BY CustomerID
 

请注意,该语句将返回一个记录,其中显示在发票表中具有发票记录的每个客户的客户 ID、具有的发票数目以及发票平均金额。由于每个客户的发票都被视为一组,因此您可以对发票进行计数,然后确定发票平均金额。

您可以通过使用 HAVING 子句在分组级指定条件。该子句与 Where 子句类似。例如,下面的查询仅返回发票平均金额小于 100 的每个客户的那些记录:

Select CustomerID, Count(*) AS [Number of Invoices],
    Avg(Amount) AS [Average Invoice Amount]
    FROM tblInvoices
    GROUP BY CustomerID
    HAVING Avg(Amount) < 100


Access软件网QQ交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助