热列祝贺:中国共产党第十七次全国代表大会胜利闭幕   颜色主题:   网页游戏 软件下载 软件文章 常用网址 自助友情
 首页程序设计数据库操作系统办公系列WEB开发项目专题网络安全图形图像站点地图友情链接
 您的位置: >首页 >数据库 >SQL Server >Transact-SQL 参考 >AVG
  文章搜索
按名称 按简介
  本类推荐
· Transact-SQL 中的新特性和增...
· APP_NAME
· ABS
· ALL
· AND
· ANY
· AVG
· ALTER VIEW
· ALTER TABLE
· ALTER DATABASE
  本类排行
· +(加)
· BULK INSERT
· ACOS
· BINARY_CHECKSUM
· Transact-SQL 中的新特性和增...
· 常量
· Transact-SQL 语法规则
· IDENT_INCR
· ALTER PROCEDURE
· ALL
· ALTER DATABASE
· ALTER VIEW
· ASIN
· binary 和 varbinary
· BEGIN DISTRIBUTED TRANSACTION
· AVG
· ALTER FUNCTION
· BREAK
· ASCII
· CASE
· BETWEEN
· APP_NAME
· bit
· BACKUP
· Windows 排序规则名称
· sp_dropgroup
· ALTER TABLE
· ATN2
· ALTER TRIGGER
· sp_manage_jobs_by_login
· ANY
· ATAN
· BEGIN...END
· CREATE TRIGGER
· ABS
· BEGIN TRANSACTION
· 控制流语言
· CHECKSUM_AGG
· AND
· CURSOR_STATUS
· CAST 和 CONVERT
· COLUMNPROPERTY
· CREATE FUNCTION
· COMMIT WORK
· RECONFIGURE
· @@IDENTITY
· CREATE INDEX
· DATEDIFF
· sales
· sp_help_fulltext_tables
AVG

返回组中值的平均值。空值将被忽略。

语法

AVG ( [ ALL | DISTINCT ] expression )

参数

ALL

对所有的值进行聚合函数运算。ALL 是默认设置。

DISTINCT

指定 AVG 操作只使用每个值的唯一实例,而不管该值出现了多少次。

expression

精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。不允许使用聚合函数和子查询。

返回类型

返回类型由表达式的运算结果类型决定。

表达式结果 返回类型
整数分类 int
decimal 分类 (p, s) decimal(38, s) 除以 decimal(10, 0)
money smallmoney 分类 money
floatreal 分类 float

重要  当使用 CUBE 或 ROLLUP 时,不支持非重复聚合,例如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用了 CUBE 或 ROLLUP,Microsoft® SQL Server™ 将返回错误信息并取消查询。

示例
A. 使用 SUM 和 AVG 函数进行计算

下例计算所有商业类书籍的平均预付款和本年度迄今为止的销售额。对检索到的所有行,每个聚合函数都生成一个单独的汇总值。

USE pubs

SELECT AVG(advance), SUM(ytd_sales)
FROM titles
WHERE type = 'business'

下面是结果集:

-------------------------- ----------- 
6,281.25                   30788       

(1 row(s) affected)
B. 与 GROUP BY 子句一起使用 SUM 和 AVG 函数

当与 GROUP BY 子句一起使用时,每个聚合函数都为每一组生成一个值,而不是对整个表生成一个值。下例对每一类书生成汇总值,这些值包括每一类书的平均预付款以及每一类书本年度迄今为止的销售总额。

USE pubs

SELECT type, AVG(advance), SUM(ytd_sales)
FROM titles
GROUP BY type
ORDER BY type

下面是结果集:

type                                                
------------ -------------------------- ----------- 
business     6,281.25                   30788       
mod_cook     7,500.00                   24278       
popular_comp 7,500.00                   12875       
psychology   4,255.00                   9939        
trad_cook    6,333.33                   19566       
UNDECIDED    NULL                       NULL      

(6 row(s) affected)
C. 使用带 DISTINCT 的 AVG

下列语句返回商业类书籍的平均价格。

USE pubs

SELECT AVG(DISTINCT price)
FROM titles
WHERE type = 'business'

下面是结果集:

-------------------------- 
11.64                      

(1 row(s) affected)
D. 使用不带 DISTINCT 的 AVG

如果不使用 DISTINCT,AVG 函数将计算出 titles 表中所有商业类书籍的平均价格。

USE pubs

SELECT AVG(price)
FROM titles
WHERE type = 'business'

下面是结果集:

-------------------------- 
13.73                      

(1 row(s) affected)
  相关软件
  相关文章
下载帮助 发布软件 自助友情 友情链接 网站导航 广告服务 法律声明 联系我们
六世下载 版权所有 ©2005-2007
本站的数据收集于网络,版权归原作者及出版社所有 如果您觉得侵犯了您的版权请来信告诉我们,我们会尽快删除其内容!
鲁ICP备05050400号