您好,欢迎访问一九零五行业门户网

sql怎么统计某一课程的各分数段的人数?(在php程序里)

$cid = $_get['id'];
回复内容:除以10后拿来group by之后再count一次aggregate起来赶紧把sql做成动态语言吧,真是的-- 我是菜鸟,随便写写···
declare @grade table(
[id] [int] identity(1,1) not null,
[cid] [int] not null,
[sid] [int] not null,
[sgrade] [int] not null
);
insert into @grade(cid,sid,sgrade)values(1,0,0);
insert into @grade(cid,sid,sgrade)values(1,1,3);
insert into @grade(cid,sid,sgrade)values(1,2,6);
insert into @grade(cid,sid,sgrade)values(1,3,9);
insert into @grade(cid,sid,sgrade)values(1,4,12);
insert into @grade(cid,sid,sgrade)values(1,5,15);
insert into @grade(cid,sid,sgrade)values(1,6,18);
insert into @grade(cid,sid,sgrade)values(1,7,21);
insert into @grade(cid,sid,sgrade)values(1,8,24);
insert into @grade(cid,sid,sgrade)values(1,9,27);
insert into @grade(cid,sid,sgrade)values(1,10,30);
insert into @grade(cid,sid,sgrade)values(1,11,33);
insert into @grade(cid,sid,sgrade)values(1,12,36);
insert into @grade(cid,sid,sgrade)values(1,13,39);
insert into @grade(cid,sid,sgrade)values(1,14,42);
insert into @grade(cid,sid,sgrade)values(1,15,45);
insert into @grade(cid,sid,sgrade)values(1,16,48);
insert into @grade(cid,sid,sgrade)values(1,17,51);
insert into @grade(cid,sid,sgrade)values(1,18,54);
insert into @grade(cid,sid,sgrade)values(1,19,57);
insert into @grade(cid,sid,sgrade)values(1,20,60);
insert into @grade(cid,sid,sgrade)values(1,21,63);
insert into @grade(cid,sid,sgrade)values(1,22,66);
insert into @grade(cid,sid,sgrade)values(1,23,69);
insert into @grade(cid,sid,sgrade)values(1,24,72);
insert into @grade(cid,sid,sgrade)values(1,25,75);
insert into @grade(cid,sid,sgrade)values(1,26,78);
insert into @grade(cid,sid,sgrade)values(1,27,81);
insert into @grade(cid,sid,sgrade)values(1,28,84);
insert into @grade(cid,sid,sgrade)values(1,29,87);
insert into @grade(cid,sid,sgrade)values(1,30,90);
insert into @grade(cid,sid,sgrade)values(1,31,93);
insert into @grade(cid,sid,sgrade)values(1,32,96);
insert into @grade(cid,sid,sgrade)values(1,33,99);
insert into @grade(cid,sid,sgrade)values(1,34,100);
select count(sid) [count],sgrade/10*10 lowersgrade,sgrade/10*10+9 uppersgrade
from @grade cs where cs.cid=1
group by sgrade/10;
select count(1) [count],st*10 lowersgrade,st*10+9 uppersgrade from
(select sid,sgrade/10 st
from @grade cs where cs.cid=1) t
group by t.st;
go用sql计算的话,我不知道有没有frequency之类的函数。我通常都用余数来算,比如分组的组距是7,那么用分数除以7求余数,然后再用分数-余数/7就得到了分组的组号了。
其它类似信息

推荐信息