Groupby和聚合函数

1,聚合函数是对一组值执行计算并返回单一的值的函数。

它经常与SELECT语句的GROUP BY子句一同使用。

SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下:

1. AVG  返回指定组中的平均值,空值被忽略。

例:select  prd_no,avg(qty) from sales group by prd_no

2. COUNT  返回指定组中项目的数量。

例:select  count(prd_no) from sales

3. MAX  返回指定数据的最大值。

例:select  prd_no,max(qty) from sales group by prd_no

4. MIN  返回指定数据的最小值。

例:select  prd_no,min(qty) from sales group by prd_no

5. SUM  返回指定数据的和,只能用于数字列,空值被忽略。

例:select  prd_no,sum(qty) from sales group by prd_no

6. COUNT_BIG  返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。

例:select  count_big(prd_no) from sales

7. GROUPING  产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.

例:select  prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup

8. BINARY_CHECKSUM  返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。

例:select  prd_no,binary_checksum(qty) from sales group by prd_no

9. CHECKSUM_AGG  返回指定数据的校验值,空值被忽略。

例:select  prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no

10. CHECKSUM  返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。

11. STDEV  返回给定表达式中所有值的统计标准偏差。

例:select  stdev(prd_no) from sales

12. STDEVP  返回给定表达式中的所有值的填充统计标准偏差。

例:select  stdevp(prd_no) from sales

13. VAR  返回给定表达式中所有值的统计方差。

例:select  var(prd_no) from sales

14. VARP  返回给定表达式中所有值的填充的统计方差。

例:select  varp(prd_no) from sales

1、在group By子句中出现的字段,必须出现在Select后的列名中,并且列名中除了聚合函数,不能有其他字段。

2、group by与order by连用,order by 子句中可包含聚合函数

3、group by关键字后可以使用多个字段名作为分组字段,这样,系统将根据这些字段的先后顺序对结果集进行更加详细地分组

不能对数据类型为ntext、text、image或bit的字段使 用 group by子句。

————————————————

(0)

相关推荐