求一个简单的统计,实在没分了,大家帮帮忙。
表jw_cl记录是班级
表jw_in记录是班级对应的课程
表Jw_res记录的是成绩
select * from jw_cl a left join jw_in b on a.JW_CLname=b.Jw_INclname
成绩的记录方法是这样
name num clname insubname cj.......
学生姓名 学号 班级名 科目名 成绩........
现在想得到这样的
班级名称 科目名称 班级总分 班级平均分 班级最高分 60分以上 60分以下
我知道很简单,但是不会子查询,实在没分了,谁帮帮忙。。
------解决方案-------------------- create table Jw_res
(name varchar(20),
num int,
clname varchar(20),
insubname varchar(30),
cj numeric(4,1)
)
insert into jw_res(name,num,clname,insubname,cj)
select 'aa ',1, '一班 ', '语文 ',70
union all select 'bb ',2, '一班 ', '语文 ',70
union all select 'cc ',3, '一班 ', '语文 ',30
union all select 'dd ',4, '一班 ', '语文 ',80
union all select 'ee ',5, '一班 ', '语文 ',84
union all select 'ff ',6, '一班 ', '数学 ',60
union all select 'gg ',7, '一班 ', '数学 ',70
union all select 'hh ',8, '一班 ', '数学 ',50
union all select 'ii ',9, '一班 ', '数学 ',90
union all select 'jj ',10, '二班 ', '语文 ',76
union all select 'kk ',11, '二班 ', '语文 ',70
select clname,insubname,sum(cj) as cj,sum(cj)/count(1) as acj,max(cj) as mcj,
sum(case when cj> =60 then 1 else 0 end) dd,sum(case when cj <60 then 1 else 0 end) qq
from jw_res
group by clname,insubname
drop table jw_res