刚学数据库的题目
学生ID 学生姓名 课程ID 课程名称 成绩 教师ID 教师姓名
----------------------
S3 王五 K2 语文 81 T2 王老师
S3 王五 K4 政治 53 T4 赵老师
S4 赵六 K1 数学 99 T1 张老师
S4 赵六 K2 语文 33 T2 王老师
S4 赵六 K4 政治 59 T4 赵老师
s1 张三 K4 政治 79 T4 赵老师
s1 张三 K1 数学 98 T1 张老师
s1 张三 K3 英语 69 T3 李老师
s7 peter K4 政治 53 T4 赵老师
s2 mike K1 数学 64 T1 张老师
s2 mike K2 语文 81 T2 王老师
s2 mike K4 政治 53 T4 赵老师
----------------------
按平均成绩从高到低顺序,列出所有学生的四门(数学,语文,英语,政治)
统计列印各科成绩,各分数段人数,格式如下
-----------------------------------------------
课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]
-----------------------------------------------
刚学数据对表的连接不太会,大家帮帮忙
[解决办法]
统计列印各科成绩,各分数段人数,格式如下
-----------------------------------------------
课程ID,课程名称,[100-85],[85-70],[70-60],[ <60]
======
select 课程ID,课程名称,
[100-85]=sum(case when 成绩> 85 and 成绩 <=100 then 1 else 0 end ),
[85-70]=sum(case when 成绩> 70 and 成绩 <=85 then 1 else 0 end ),
[70-60]=sum(case when 成绩 between 60 and 70 then 1 else 0 end ),
[ <60]=sum(case when 成绩 <60 then 1 else 0 end )
from tb group by 课程ID,课程名称
[解决办法]
-------------------
按平均成绩从高到低顺序,列出所有学生的四门(数学,语文,英语,政治)
应该怎么做呀,连四个表?帮忙呀
设表为tb
select * from
(select distinct 学生ID,学生姓名,
语文=isnull(select 成绩 from tb where 学生ID=a.学生ID and 课程名称=语文,0),
数学=isnull(select 成绩 from tb where 学生ID=a.学生ID and 课程名称=数学,0),
政治=isnull(select 成绩 from tb where 学生ID=a.学生ID and 课程名称=政治,0),
英语=isnull(select 成绩 from tb where 学生ID=a.学生ID and 课程名称=英语,0)
from tb a
) b order by (语文+数学+政治+英语)