全面掌握MS ACCESS SQL(61)
时 间:2018-02-25 16:59:12
作 者:Big Young ID:252 城市:襄阳
摘 要: 使用SQL聚合函数:AVG,COUNT,SUM。
正 文:
第十九章 使用SQL聚合函数
通过使用SQL聚合函数,可以确定数值集合的各种统计值。ACCESS拥有Avg、Count、First、Last、Min、Max、StDev、StDevP、Sum、Var和VarP等函数。
第一节 运用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源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- 高效率在导入数据前删除记录(11.10)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)
- Access快速开发平台--让有权...(11.04)
- Access快速开发平台--审批选...(11.01)
- ACCESS两张表先各自排序,然后...(10.31)
- Access对子窗体数据进行批量+...(10.30)
- SqlServer中如何用SQL命...(10.29)
- Access报表中的分组功能用代码...(10.28)
- 用Access计算库存结余的一个方...(10.26)