SqlServer2008实例39聚合函数

   目录

 1.返回平均值

​2.返回行总数

3.找出表达式中的最小值和最大值

4.返回值的和

5.使用统计聚合函数

    示例1  VAR函数根据数据母体的样本返回由表达式提供的值的方差(VARP函数也返回衷达式整个数据母体提供的值的方差)。

示例2      STDEV函数根据数据母体的样本返回由表达式提供的所有值的标准差。


聚合函数用于对一个或多个值进行计算,最后得出一个值。经常使用的聚合函数的一个例子是SUM,它用来返回一组数字值的总值。

         SQL Server提供的一些经常使用的聚合函数。

函数名描  述
AVGAVG聚合函数计算一个组中非NULL值的平均值
CHECKSUM AGGCHECKSUM AGG函数返回基于行组的校验和值,可以潜在地跟踪表的变化。例如.添加新行或改变要聚合的列值,通常会产生新的校验和整数值.提到“通常”的原因是即使值发生改变,校验和值也存在不变的可能
COUNTCOUNT聚合函数返回一个显示组中行数的整数值
COUNT BIG和COUNT功能一样,只是COUNT BIG返回blgint数据类型值
GROUPINGGROUPING函数根据NULL值是否源于CUBE、ROLLUP或GROUPING SETS操作返回1(True)或0(False)。如果为False.表示列的NULL值从自然数据中返回
MAXMAX聚合函数返同一组非NULL值中的最大值
MINMIN聚合函数返回一组非NULL值中的最小值
SUMSUM聚合函数返回一个表达式中所有非NULL值的总和
STDEVSTDEV函数根据数据母体的样本返回由表达式提供的所有值的标准差
STDEVPSTDEVP函数也返回由表达式提供的所有值的标准差,只是它计算整个数据母体
VARVAR函数根据数据母体的样本返回由表达式提供的值的方差
VARP VARP函数也返回表达式整个数据母体提供的值的方差

 1.返回平均值

AVG聚合函数计算一个组中非NULL值的平均值。

USE AdventureWorks
GO

--产品平均等级
SELECT ProductID,AVG(Rating) AvgRating
FROM Production.ProductReview
GROUP BY ProductID

    

StrandardCost列的DISTINCT值取平均——也就是说只有唯一的StandardCost值才会被平均:

USE AdventureWorks
GO

--对DISTINCT StandardCost求平均
SELECT AVG(DISTINCT Standardcost) AvgDistinctStandardCost
FROM Production.ProductCostHistory


2.返回行总数

    COUNT聚合函数返回一个显示组中行的总数的整数。例如,如下的查询通过货架对行分组,并返回每个货架的产品总数:

USE AdventureWorks
GO

SELECT Shelf,COUNT(ProductID) ProductCount
FROM Production.ProductInventory
GROUP BY Shelf
ORDER BY Shelf

  如果在COUNT函数圆括号内包含DISTINCT关键字,会得到那列的不重复值的总和。例如:

USE AdventureWorks
GO

SELECT COUNT(DISTINCT Shelf) ShelfCount
FROM Production.ProductInventory

3.找出表达式中的最小值和最大值

  MAX聚合函数返回一个组中非NULL值的最大值,而MIN聚合函数返回最小值。MIN和MAX能用于数字、字符和datetime列。字符数据类型的最小值和最大值由ASCII字母排序决定。datetirne值的MIN和MAX基于最早的日期和最近的日期。
  例如,Production.ProductReview表的Rating数字列中的最小值和最大值: 

USE AdventureWorks
GO

SELECT MIN(Rating) MinRating,
	   MAX(Rating) MaxRating
FROM Production.ProductReview	 

4.返回值的和

    SUM聚合函数返回表达式中非NULL值的总和。例如,使用SUM聚合函数来返回每个AccountNumber中TotalDUe列值的总和:

USE AdventureWorks
GO

SELECT AccountNumber,SUM(TotalDue) TotalDueBySalesOrderID
FROM Sales.SalesOrderHeader
GROUP BY AccountNumber
ORDER BY AccountNumber

5.使用统计聚合函数

    示例1  VAR函数根据数据母体的样本返回由表达式提供的值的方差(VARP函数也返回衷达式整个数据母体提供的值的方差)。

USE AdventureWorks
GO

SELECT VAR(TaxAmt) Variance_Sample,
       VARP(TaxAmt) Variance_EntirePopulation
FROM Sales.SalesOrderHeader  

示例2      STDEV函数根据数据母体的样本返回由表达式提供的所有值的标准差。

      STDEVP函数也返回由表达式提供的所有值的标准差,只是它计算整个数据母体。这个示例返回Sales.Sal.esOrderDetail表中所有行的UnitPrlce值的统计标准差:

USE AdventureWorks
GO

SELECT STDEV(UnitPrice) StandDevUnitPrice,
       STDEVP(UnitPrice) StandDevPopUnitPrice
FROM Sales.SalesOrderDetail

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页