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

全面掌握MS ACCESS SQL(61)

时 间:2018-02-25 16:59:12
作 者:Big Young   ID:252  城市:襄阳
摘 要:    使用SQL聚合函数:AVG,COUNT,SUM。
正 文:

第十九章 使用SQL聚合函数

通过使用SQL聚合函数,可以确定数值集合的各种统计值。ACCESS拥有AvgCountFirstLastMinMaxStDevStDevPSumVarVarP等函数。

第一节 运用Avg函数

一、功能

计算查询的指定字段中所包含的一组值的算术平均值。

二、语法

Avg (expr)

expr占位符代表数值表达式,标识包含要取平均值的数值数据或使用该字段中数据执行计算的表达式的字段。expr中的操作数可以包括表字段、 常量或函数(可以是固有函数或用户定义但不是其他SQL聚合函数)的名称。

三、注解

Avg计算的平均值是算术平均值(值的总和除以值的个数)。例如,可以使用Avg计算平均运货成本。

使用Avg函数计算中将忽略任何空的字段或值。

创建基于SQL查询记录集对象时,可以在查询表达式中或在SQL属性的QueryDef对象或使用Avg函数。

四、示例

以下示例使用Orders表计算运货费超过¥100的订单的平均运货费。

Select Avg(Freight) AS [Average Freight]

FROM orders

Where Freight > 100;

 

第二节 运用Count函数

一、功能

Count函数用于计算查询所返回的记录数。

二、语法

Count (expr)

expr占位符代表一个表达式字串,标识了包含我们要计数的数据或执行使用该字段中数据计算的表达式的字段。expr中的操作数可以包括表字段或函数(可以是固有函数或用户定义的但不是能是其他SQL聚合函数)的名称。可以计算任意类型的数据,包括文本。

三、注解

可以使用Count对基础查询中的记录数进行计数。例如,可以使用Count对运到某个特定的国家或地区的订单数进行统计。

虽然expr可以对字段执行计算,计数也会只是显示记录的数。对它来说,记录中所存储的数值是多少并不重要。

Count函数不计算expr是星号(*)通配符字符,除非有Null字段的记录。如果使用了星号,则Count计算包括包含Null字段的记录的总数。Count(*)的计算速度要远远大于Count ([列名])。不要将星号括在引号(‘’)。下面的示例将计算订单表中的记录数:

Select Count(*)

AS TotalOrders

FROM orders;

如果expr标识多个字段,只有当至少一个字段不为空才会被Count函数统计记录。如果所有指定的字段为空,记录将不会被统计在内。字段与字段之间用一个and符号(&;)来分隔。下面的示例演示了如何在记录的发货日期或运费不为空时才统计记录的个数:

Select

Count('ShippedDate &; Freight')

AS [Not Null] FROM orders;

可以在查询表达式中使用Count函数。也可以在创建的基于SQL查询记录集对象的QueryDef对象或SQL属性中使用此表达式。

四、示例

此示例使用订单表来计算运往英国的订单的数量。

Select Count (ShipCountry) AS [UK orders]

FROM orders

Where ShipCountry = 'UK';

 

第三节 运用Sum函数

一、功能

Sum函数的作用是返回查询的指定字段中包含的一组值的总和。

二、语法

Sum (expr)

expr占位符代表表达式字符串,标识了包含我们要求和的数字数据或使用该字段中数据执行计算的表达式的字段。expr中的操作数可以包括表字段、常量或函数(可以是固有函数或用户定义但不是其他SQL聚合函数)的名称。

三、注解

Sum函数计算字段中的值。例如,可以使用Sum函数来确定货运费用的总成本。

Sum函数将忽略包含空字段的记录。下面的示例演示如何计算单价和数量字段的乘积的总和:

Select

Sum(UnitPrice * Quantity)

AS [Total Revenue] FROM [Order Details];

在查询表达式中,可以使用Sum函数。还可以将此函数构成的表达式用于QueryDef对象或基于SQL查询创建记录集的SQL属性中。

四、示例

此示例使用订单表来计算运往英国的订单的总销售额。

Select Sum(UnitPrice*Quantity) AS [Total UK Sales]

FROM orders

INNER JOIN [Order Details]

ON orders.OrderID = [Order Details].OrderID

Where (ShipCountry = 'UK');



Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

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