sqlserver最高分,sql实现分数排名

这道SQL题我做对吗

肯定是不对的

创新互联建站于2013年开始,先为五大连池等服务建站,五大连池等地企业,进行企业商务咨询服务。为五大连池企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

这是要针对同一个sno,它的最高分小于90,最低分小于70,其实只用score表就行

select a.sno

from

(select sno,min(Degree) Degree from score group by sno) a,

(select sno,max(Degree) Degree from score group by sno) b

where a.Degree 70 and b.Degree 90

sql 如何查询每个班级中的最高分

具体代码如下:

select 班级名称,分数=MAX(成绩)

from

学生表 s join 班级表 c

on s.班级号=c.班级号

join 成绩表 sc

on s.学号=sc.学号

group by 班级名称

扩展资料:

SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。

最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。 SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。

不同的 SQL JOIN,您可以使用的不同的 SQL JOIN 类型:

INNER JOIN:如果表中有至少一个匹配,则返回行

LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行

FULL JOIN:只要其中一个表中存在匹配,则返回行

参考资料:

Oracle官方API接口-PL/SQL API

W3cSchool-SQL JOIN

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最高分,sql实现分数排名
当前地址:http://pwwzsj.com/article/hcoihp.html