http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 4904|回复: 1

[Sql Server] sql2005 AVG函数使用方法

[复制链接]
发表于 2012-11-28 12:52:21 | 显示全部楼层 |阅读模式
                                   sql2005 AVG函数使用方法
返回组中各值的平均值。将忽略空值。后面可以跟 OVER 子句。

主题链接图标 Transact-SQL 语法约定
语法
AVG ( [ ALL | DISTINCT ] expression )
参数
ALL
    对所有的值进行聚合函数运算。ALL 是默认值。
DISTINCT
    指定 AVG 只在每个值的唯一实例上执行,而不管该值出现了多少次。
expression
    是精确数值或近似数值数据类别(bit 数据类型除外)的表达式。不允许使用聚合函数和子查询。
返回类型
返回类型由 expression 的计算结果类型确定。
表达式结果     返回类型
integer 类别
int
decimal 类别 (p, s)
decimal(38, s) 除以 decimal(10, 0)
money 和 smallmoney 类别
money
float 和 real 类别
float
ms177677.note(zh-cn,SQL.90).gif重要提示:
使用 CUBE 或 ROLLUP 时,不支持区分聚合,如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用这类聚合,则 SQL Server 2005 数据库引擎将返回错误消息并取消查询。
备注
如果 expression 是别名数据类型,则返回类型也具有别名数据类型。但是,如果别名数据类型的基本数据类型得到提升(例如,从 tinyint 提升到 int),则返回值具有提升的数据类型,而非别名数据类型。
示例
A. 使用 SUM 和 AVG 函数进行计算
以下示例计算 Adventure Works Cycles 的副总所用的平均休假小时数以及总的病假小时数。对检索到的所有行,每个聚合函数都生成一个单独的汇总值。
[code=sql]
USE AdventureWorks;
GO
SELECT AVG(VacationHours)as 'Average vacation hours',
    SUM  (SickLeaveHours) as 'Total sick leave hours'
FROM HumanResources.Employee
WHERE Title LIKE 'Vice President%';[/code]
下面是结果集:
Average vacation hours       Total sick leave hours

----------------------       ----------------------
25                           97

(1 row(s) affected)
B. 带 GROUP BY 子句使用 SUM 和 AVG 函数
当与 GROUP BY 子句一起使用时,每个聚合函数都针对每一组生成一个值,而不是针对整个表生成一个值。以下示例针对每个销售地区生成汇总值。汇总中列出每个地区的销售人员得到的平均奖金以及每个地区的本年度销售总额。
[code=sql]
USE AdventureWorks;
GO
SELECT TerritoryID, AVG(Bonus)as 'Average bonus', SUM(SalesYTD) 'YTD sales'
FROM Sales.SalesPerson
GROUP BY TerritoryID;
GO[/code]
C. 带 DISTINCT 使用 AVG

以下语句返回产品的平均标价。
[code=sql]USE AdventureWorks;
GO
SELECT AVG(DISTINCT ListPrice)
FROM Production.Product;[/code]
下面是结果集:
------------------------------

437.4042
(1 row(s) affected)

D. 不带 DISTINCT 使用 AVG

如果不使用 DISTINCT,AVG 函数将计算出 Product 表中所有产品的平均标价。
[code=sql]
USE AdventureWorks;
GO
SELECT AVG(ListPrice)
FROM Production.Product;[/code]
下面是结果集:
------------------------------
438.6662
(1 row(s) affected)



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2013-4-12 15:02:46 | 显示全部楼层
初次加入贵论坛  希望以后在这里和大家一起成长  一起学习
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-12-22 09:55

© 2014-2021

快速回复 返回顶部 返回列表