Fork me on GitHub
听雨轩
生命易破碎,梦想只争朝夕!

一、相关概念

     如果在对数据进行统计分析时,既需要保存查询结果,又能在查询结果下面将统计结果显示出来,我们可以使用compute by 子句。

    Compute子句用于生成合计,并将其作为附加的汇总列出现在结果集的最后,当与by一起使用时,Compute子句在结果集内生成控件中断和分类汇总。可在同一查询内指定Compute by和Compute。

其语法格式如下:

[Compute

{

{Avg | count | max | min | stdev | stdevp| var | varp | sum  (expression)}[,…n]

[by expressin [,….]]

}]

Compute子句中使用的聚合函数

注意:聚合函数不能使用字段别名。

 

二、实例说明

1、准备工作

if object_id('student','table') is not null
drop table student
go
create table student
(
ID int identity(1,1) not null,
sex varchar(4) not null,
sclass varchar(10),
score int ,
constraint zhujian primary key(ID),
constraint scorecheck check(score>0 and score<=10)

)
insert into student values('男',1,2)
insert into student values('女',2,4)
insert into student values('女',2,6)
insert into student values('女',1,2)
insert into student values('男',3,3)
insert into student values('男',2,5)

 2、group by子句

--group字句
select sex,sclass,score,sum(score) as 总分
from student
group by sex,sclass,score
order by sex
结果如下:
3、使用compute by子句
--comlpute by字句
select sex,sclass,score,sum(score) as 总分
from student
group by sex,sclass,score
order by sex
compute sum(score),avg(score),max(score),min(score) by sex 
结果如下:
完工,拜拜。
posted on 2010-11-25 14:19  流水殇  阅读(2930)  评论(1编辑  收藏  举报