使用accessSQL对结果集中的记录进行分组-金宇
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


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

发表时间:2008/5/31 9:15:15 评论(0) 浏览(6893)  评论 | 加入收藏 | 复制
   
摘 要:使用 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群(群号:198465573)
 
 相关文章
[access报表]统计报表分组中的组数  【纵云梯  2012/6/22】
二级Access数据库备考笔记之报表排序和分组  【缪炜  2012/8/17】
【Access源码示例】--分组累计、逐行累计、累计汇总示例  【宏鹏  2012/9/26】
关于Access中数字分组的问题!  【在水一方  2013/5/1】
两种方法实现按年月分组计算每月用工天数  【殷小宝  2013/6/26】
常见问答
技术分类
相关资源
文章搜索
关于作者

金宇

文章分类

文章存档

友情链接