日期:2014-05-18 浏览次数:21003 次
if object_id('[表]') is not null drop table [表]
create table [表] (学生 int identity(1,1),班级 varchar(6),分数 int)
go
insert into [表] select '1班',ceiling(60+rand()*40)
go 3
insert into [表] select '2班',ceiling(60+rand()*40)
go 3
insert into [表] select '3班', ceiling(60+rand()*40)
go 3
insert into [表] select '4班', ceiling(60+rand()*40)
go 3
insert into [表] select '5班', ceiling(60+rand()*40)
go 3
insert into [表] select '6班', ceiling(60+rand()*40)
go 3
insert into [表] select '7班', ceiling(60+rand()*40)
go 3
insert into [表] select '8班', ceiling(60+rand()*40)
go 3
insert into [表] select '9班', ceiling(60+rand()*40)
go 3
insert into [表] select '10班', ceiling(60+rand()*40)
go 3
/*
学生          班级     分数
----------- ------ -----------
1           1班     69
2           1班     80
3           1班     71
4           2班     98
5           2班     94
6           2班     79
7           3班     83
8           3班     66
9           3班     86
10          4班     98
11          4班     89
12          4班     74
13          5班     73
14          5班     79
15          5班     89
16          6班     89
17          6班     73
18          6班     97
19          7班     81
20          7班     90
21          7班     82
22          8班     62
23          8班     88
24          8班     75
25          9班     68
26          9班     65
27          9班     89
28          10班    85
29          10班    97
30          10班    75
(30 row(s) affected)
*/
--查看前百分之60的平均分
select top 60 percent 班级,avg(分数) 平均分 from [表] group by 班级 order by avg(分数) desc
/*
班级     平均分
------ -----------
1班     92
7班     87
3班     86
8班     85
2班     84
6班     77
*/