SQL学习之汇总数据之聚集函数
一、
1、我们经常需要汇总数据而不用把他们实际检索出来,为此SQL提供了专门的函数,以便于分析数据和报表生成,这些函数的功能有:
(1)确定表中行数(或者满足单个条件或多个条件或包含某个特定值的行数)。
(2)获得表中某些行的和
(3)找出表列(或所有行或某些特定的行)的最大值、最小值、平均值。
上述功能都需要汇总表中的数据,而不需要实际数据本身。因此返回实际表数据纯属浪费时间和处理资源(更不用说带宽了)。
2、下面是SQL提供的5个常用的聚集函数
(1)AVG() ---返回某列的平均值
(2)COUNT() ---返回某列的行数
(3)MAX() ---返回某列的最大值
(4)MIN() ---返回某列的最小值
(5)SUM() ---范回某列之和
如下代码:
select * from dbo.tb_order
现在有个需求,需要求出所有订单的单价和,下面是解决代码:
select SUM(price) from dbo.tb_order
ok,完成需求,拿到所有的单价之和!
3、下面是当我们使用上面5个聚集函数需要注意的地方
(1)MAX()和MIN()不仅可以找出最大/最小 的数值和日期值,许多DBMS(不是所有)允许将它们用来返回任意列(这里只的是任意数据类型)的最大/最小 值,包括返回文本的最大/最小值,在用于文本数据时,MAX()/MIN()返回目标列排序后的最后一行/最前面的行。
(2)MAX()和MIN()函数忽略列值为null的行
(3)当我们使用上面的聚集函数计算表中的列时,需要去掉一些重复的数据是可以使用DISTINCT,代码如下:
select * from dbo.tb_order
这是全部数据,现在需要ordercount列的总数,代码如下:
select COUNT(ordercount) from dbo.tb_order
结合上面两个检索的结果图,我们发现中间有很多的重复数据,下面是解决代码:
select COUNT(DISTINCT ordercount) from dbo.tb_order
ok,完成需求!把重复的都过滤掉了.
注意:DISTINCT不能用于COUN(*),只能用于COUNT(),因为DISTICT只能作用于列名,也就是说DISTICT 后面只能跟列名!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法