`
anna_zr
  • 浏览: 196413 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

使用聚集函数 SQL语言的高级用法

阅读更多
计算诸如平均值和总和的函数被称为聚集函数(Aggregate Functions )。当使用聚集函数时,SQLServer对整个表或表里某个组中的字段进行汇总、计算,然后为它创建相应字段的单个的值。
可以在SELECT语句中单独使用聚集函数,也可以与语句GROUP BY联合使用;
除了COUNT(*)函数,如果记录集中没有满足WHERE子句的记录,则所有的聚集函数都将返回空值。如果没有满足WHERE子句的记录,COUNT(*)函数返回0。
注意:适当的索引能够加快聚集函数的运行。
字段的数据类型决定了你可以用在这个字段上的聚集函数类型。下面的表中列出了聚集函数和数目类型间的关系。


函数 数据类型
COUNT COUNT是唯一一个可以用于text,ntext或image数据类型的函数。 
MIN和MAX MIN和MAX函数不能用于数据类型是bit的字段。
SUM和AVG SUM和AVG函数只能用于数据类型是int、smallint、tinyint、decimal、numeric、float、real、money和smanmoney的字段。
在你使用函数SUM和AVG时,SQLServer把结果集中的smallim或tinyint这些数据类型当做int处理。



聚集函数的部分语法如下:


SELECT [ ALL | DISTINCT ]
[ TOP n [PERCENT] [ WITH TIES] ] <select_list>
[ INTO new_table ]
[ FROM <table_sources> ]
[ WHERE <search_conditions> ]
[ [ GROUP BY [ALL] group_by_expression [,.n]]
[HAVING <search_conditions> ]
[ WITH { CUBE | ROLLUP } ]
]
[ ORDER BY { column_name [ ASC | DESC ] } [,.n] ]
[ COMPUTE
{ { AVG | COUNT | MAX | MIN | SUM } (expression) } [,.n]


[ BY expression [,.n]
]


空值(null values)能使聚集函数创建意想不到的结果。例如,当你执行一个包含函数COUNT的SELECT语句时,如果表中含有18个记录,其中含有两个空值,则结果集将返回16条记录。SQL Server将忽略含有空值的记录。
因此,如果想对包含空值的字段使用聚集函数,需要额外的小心,因为此时你得到的结果集并不能代表数据的真实情况。但如果必须使用聚集函数的话,应注意以下事项:

分享到:
评论

相关推荐

    SQL应用开发范例宝典:SQL应用开发范例宝典.iso (源码光盘)

    内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组统计、使用子查询、多表查询、高级查询、插入数据、更新和删除数据、创建、操纵数据库和表、使用视图...

    SQL_SERVER应用与开发范例宝典_12357672.part3

    内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组统计、使用子查询、多表查询、高级查询、插入数据、更新和删除数据、创建、操纵数据库和表、使用视图...

    SQL_SERVER应用与开发范例宝典_12357672.part2

    内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组统计、使用子查询、多表查询、高级查询、插入数据、更新和删除数据、创建、操纵数据库和表、使用视图...

    SQL_SERVER应用与开发范例宝典_12357672.part1

    内容包括SQL语言基础、常规数据查询、高级数据过滤、字符串查询、日期函数、日期函数、数据排序、聚集函数与分组统计、使用子查询、多表查询、高级查询、插入数据、更新和删除数据、创建、操纵数据库和表、使用视图...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    第6章 使用SQL Server Management Studio配置SQL Server 6.1 使用SQL Server Management Studio管理配置 6.2 确定系统和服务器信息 6.3 配置身份验证和审核 6.3.1 设置身份验证模式 6.3.2 设置审核级别 6.3.3 启用或...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     第6章 使用SQL Server Management Studio配置SQL Server 128  6.1 使用SQL Server Management Studio管理配置 128  6.2 确定系统和服务器信息 130  6.3 配置身份验证和审核 130  6.3.1 设置身份验证模式 131 ...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     第6章 使用SQL Server Management Studio配置SQL Server 128  6.1 使用SQL Server Management Studio管理配置 128  6.2 确定系统和服务器信息 130  6.3 配置身份验证和审核 130  6.3.1 设置身份验证模式 131 ...

    SQL COOKBOOK(压缩1/2)

    然而从中可以找到许多共同的问题及其解决方案,这些解决方案中用到许多技巧,读者学到这些技巧就可以将它们扩展并应用到《SQL Cookbook中文版》不可能覆盖的其他新问题上。 毫无疑问,《SQL Cookbook中文版》的目标...

    SQL必知必会(第3版)--详细书签版

    所属分类: 计算机 &gt; 数据库 &gt; SQL语言 编辑推荐  SQL经典畅销书  涵盖所有主流数据库  学习与参考皆宜... 内容简介  sql 是目前使用最为广泛的数据库语言之一。本书没有涉及理论,而是从实践出发,...

    SQL Server 2008数据库设计与实现

     9.7 高级的索引使用案例  9.7.1 外键索引  9.7.2 索引视图  9.8 最佳实践  9.9 总结 第10章 并发编程  10.1 什么是并发  10.2 查询优化的基础知识  10.3 操作系统与硬件因素  10.4 事务  ...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     第6章 使用SQL Server Management Studio配置SQL Server 128  6.1 使用SQL Server Management Studio管理配置 128  6.2 确定系统和服务器信息 130  6.3 配置身份验证和审核 130  6.3.1 设置身份验证模式 131 ...

    SQL.Server.2008管理员必备指南.part3.rar(3/4)

     第6章 使用SQL Server Management Studio配置SQL Server 128  6.1 使用SQL Server Management Studio管理配置 128  6.2 确定系统和服务器信息 130  6.3 配置身份验证和审核 130  6.3.1 设置身份验证模式 131 ...

    SQL COOKBOOK(压缩2/2)

    然而从中可以找到许多共同的问题及其解决方案,这些解决方案中用到许多技巧,读者学到这些技巧就可以将它们扩展并应用到《SQL Cookbook中文版》不可能覆盖的其他新问题上。 毫无疑问,《SQL Cookbook中文版》的目标...

    Navicat Premium操作手册.7z

    4PostgreSQL 触发器99PostgreSQL 触发函数100PostgreSQL 类型102PostgreSQL 表空间104PostgreSQL 编制105PostgreSQL 语言105SQLite 对象106SQLite 表106SQLite 表栏位107SQLite 表索引108SQLite 表外键109SQLite 表...

    Oracle_Database_11g完全参考手册.part3/3

    9.4 聚集函数 9.4.1 组值函数中的NULL 9.4.2 单值函数和组值函数的示例 9.4.3 AVG、COUNT、MAX、MIM和SUM 9.4.4 组值函数和单值函数的组合 9.4.5 STDDEV和、VARIANCE 9.4.6 组函数中的DISTINCT 9.5 列表函数 9.6 ...

    Oracle_Database_11g完全参考手册.part2/3

    9.4 聚集函数 9.4.1 组值函数中的NULL 9.4.2 单值函数和组值函数的示例 9.4.3 AVG、COUNT、MAX、MIM和SUM 9.4.4 组值函数和单值函数的组合 9.4.5 STDDEV和、VARIANCE 9.4.6 组函数中的DISTINCT 9.5 列表函数 9.6 ...

Global site tag (gtag.js) - Google Analytics