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

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


[color=violet]函数 数据类型
COUNT COUNT是唯一一个可以用于text,ntext或image数据类型的函数。
MIN和MAX MIN和MAX函数不能用于数据类型是bit的字段。
SUM和AVG SUM和AVG函数只能用于数据类型是int、smallint、tinyint、decimal、numeric、float、real、money和smanmoney的字段。[/color]在你使用函数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将忽略含有空值的记录。
因此,如果想对包含空值的字段使用聚集函数,需要额外的小心,因为此时你得到的结果集并不能代表数据的真实情况。但如果必须使用聚集函数的话,应注意以下事项:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值