网站建设资讯

NEWS

网站建设资讯

sqlserver成绩,sql学生成绩

sqlserver查询张三每门课的成绩排名

这里userid设置为1001,这里先统计每名课程成绩大于张三成绩的学生数,然后在统计的数上加1即为张三的排名。这里是mysql的测试,如需在oracle上使用,请把IFNULL函数换成oracle的NVL函数。根据tab后面的数字阅读会清楚一点,可以一个一个tab先执行看结果。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名、网页空间、营销软件、网站建设、邻水网站维护、网站推广。

select tab4.kcid,IFNULL((select tab5.kcrank from (select tab3.kcid as kcid,count(*) as kcrank from (select tab2.* from chengji tab2 , (select * from chengji where userid=1001) tab1 where tab2.kcid=tab1.kcid and tab2.cj tab1.cj) tab3 group by tab3.kcid) tab5 where tab4.kcid=tab5.kcid),0)+1 as kcrank from chengji tab4 where tab4.userid=1001

sqlserver查询各系各科成绩最高分的学生的学号,姓名,系名,课程名称,成绩?

请参考下列SQL语句:

select student.sno,student.sname,student.sdept,

course.cname,t.maxgrade from 

student,course,

(select  s.sno,c.sdept,s.cno,c.maxgrade 

from sc s,student st,

(select a.sdept,b.cno,max(b.grade) as maxgrade 

from student a,sc b where a.sno=b.sno 

group by a.sdept,b.cno) c 

where s.sno=st.sno and st.sdept=c.sdept and 

s.grade=c.maxgrade) t where student.sno=t.sno 

and course.cno=t.cno order by course.cname,student.sdept;

上述语句已经测试通过。代码思路是:

学生表与成绩表基于学号进行连接获取每个学号所在系名,然后用院系和课程号对成绩表分组汇总,求得每个院系、每个课程的最高得分(结果集c,含系名、课程号和最高分)。然后用结果集C再次与成绩表、学生表进行比对,筛选出获得每个系、每个课程的最高分的学号并包含课程号和系名(结果集t)。最后t通过连接获取学生表中的学生姓名、课程表中的课程名完成最后输出。

SQLServer里面求各科成绩的中分数

select * from 成绩表 where (语文成绩+外语成绩+数学成绩)=500 and (语文成绩+外语成绩+数学成绩)=550


网站标题:sqlserver成绩,sql学生成绩
链接分享:http://njwzjz.com/article/hcgpde.html