首页 > 数据库技术 > 详细

例说SQL Server 2008 聚合函数

时间:2014-04-05 12:18:49      阅读:516      评论:0      收藏:0      [点我收藏+]

创建tb_Students表并插入3条测试数据。

CREATE TABLE tb_Students(
id int NOT NULL IDENTITY,
name NVARCHAR(16) NOT NULL,
age int NOT NULL,
PRIMARY KEY(id))
INSERT INTO tb_Students(name,age) 
VALUES(‘tiana‘,15),(‘yardi‘,20),(‘zhangyun‘,18)


1 SUM()函数

返回某列值的和。

例:

SQL查询:

SELECT SUM(age) FROM tb_Students WHERE age>15

执行结果:

bubuko.com,布布扣 

说明:

返回年龄大于15的学生的年龄之和:120+18=38

 

2 COUNT()函数

返回某列的行数。

例:

SQL查询:

SELECT COUNT(*) FROM tb_Students WHERE age>15

执行结果:

 bubuko.com,布布扣

说明:

返回年龄大于15的学生记录的行数。

当然这里查询中可以使用“COUNT(id)”,“COUNT(name)”,“COUNT(age)”,结果一致。

 

3 AVG()函数

返回某列的平均值。

例:

SQL查询:

SELECT AVG(age) FROM tb_Students WHERE age>15

执行结果:

bubuko.com,布布扣

 

4 MAX()函数

返回某列的最大值。

例:

SQL查询:

SELECT MAX(age) FROM tb_Students WHERE age>15

执行结果:

bubuko.com,布布扣 

 

5 MIN()函数

返回某列的最小值。

例:

SQL查询:

SELECT MIN(age) FROM tb_Students WHERE age>15

执行结果:

 bubuko.com,布布扣

 

聚合函数与GROUP BY子句一起使用

SUM()COUNT()AVG()MAX()MIN()函数与GROUP BY子句一起使用时,可以用来计算每个分组的总和,记录总数,平均值,最大值,最小值。

例:

创建表tb_Class并插入8条测试数据。

SQL查询:

CREATE TABLE tb_Class(
classid int NOT NULL IDENTITY, 
classname NVARCHAR(16) NOT NULL,
students int NOT NULL,
teacher	NVARCHAR(16) NOT NULL,
PRIMARY KEY(classid))
INSERT INTO tb_Class(classname,students,teacher)
VALUES
(‘1班‘,25,‘yl‘),(‘2班‘,18,‘wsp‘),(‘3班‘,24,‘yl‘),(‘4班‘,25,‘zhy‘), 
(‘5班‘,22,‘wsp‘),(‘6班‘,25,‘yl‘),(‘7班‘,20,‘zhy‘), (‘8班‘,22,‘wsp‘)
SELECT SUM(students) FROM tb_Class GROUP BY teacher
SELECT COUNT(students) FROM tb_Class GROUP BY teacher
SELECT AVG(students) FROM tb_Class GROUP BY teacher
SELECT MAX(students) FROM tb_Class GROUP BY teacher
SELECT MIN(students) FROM tb_Class GROUP BY teacher
执行结果:

bubuko.com,布布扣

 

7 聚集不同的值

例:

SQL查询:

SELECT COUNT(DISTINCT teacher) FROM tb_Class

执行结果:

bubuko.com,布布扣

说明: 聚集函数与DISTINCT子句一起使用时,可以去除掉重复的记录后再使用聚集函数进行运算。

实例中的查询查询出班级表中教师的数目。

 

 

 

 

 

例说SQL Server 2008 聚合函数,布布扣,bubuko.com

例说SQL Server 2008 聚合函数

原文:http://blog.csdn.net/yl2isoft/article/details/22959201

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!