当前位置:首页 » 编程语言 » 怎么用sql查询没门课程最高分学生
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

怎么用sql查询没门课程最高分学生

发布时间: 2022-06-02 14:03:05

‘壹’ sql查询最高分和最低分

//查询最高分
selectmax(score)fromstudent
//查询最低分www.sz886.com
selectmin(score)fromstudent
//查询最低分和最高分
selectmin(score)asmin_score,max(score)asmax_scorefromstudent

‘贰’ 怎么用SQL语句查询所有学生所学课程(单个学生学的多门课程)的最高分数,最低分数和平均分数

SELECT student.sno AS `学号`,student.sname AS `姓名`,MAX(grade) AS `最高分`,MIN(grade) AS `最低分`,AVG(grade) AS `平均分`

FROM sc JOIN student ON sc.sno = student.sno GROUP BY sc.sno ;

‘叁’ sql查询每门课程最高分学生的学号,课程号,成绩。这些在一张表里,用嵌套查询

SELECT * FROM 成绩表 A WHERE 成绩=(select max(成绩) FROM 成绩表 B WHERE B.课程号=A.课程号)

‘肆’ sql,查询每门课程最高分的学生的学号,课程号,成绩。再一张表里

select 学号, 课程号 , 成绩 from 表A ( select 课程号 ,max(成绩) AS mCJ from 表A group by 课程号) B where 表A课程号=B.课程号 AND 表A.成绩 =B.mCJ

‘伍’ 查询每门课成绩最高分的同学的sql语句,输出课程名,姓名,学号,分数。表的结构如下。写出完整的sql语句

SELECT cname,sname,student.sno,grade
FROM student join sc on student.sno=sc.sno
join course on course.cno=sc.cno
where grade=(select max(grade)
from sc
where cno=course.cno )

‘陆’ sql问题,查找每门课程选课学生,平均分,最高分,最低分 。怎么解答啊

你好,很高兴回答你的问题。
解决这个问题需要用到分组查询和聚合函数。
sql大致如下:
select 课程,avg(分数),max(分数),min(分数) from 表 group by 课程。
其中avg是算平均分。
max是算最大分。
min是算最小分。
如果有帮助到你,请点击采纳。
我解答的大部分是软件开发新人遇到的问题,如果有兴趣可以关注我。

‘柒’ SQL查询每门课程最高分学生的学号,课程号,成绩

select t1.学号,t1.课程号,t1.成绩
from table t1
where t1.成绩 = (
select max(t2.成绩)
from table t2
where t2.课程号 = t1.课程号
group by t2.课程号
)

‘捌’ SQL查询单科成绩最高的同学

SELECT child.abc,child.cource,a.name

FROM (select max(b.point) as abc,c.cource from `student` as a join `achievement` as b join `course` as c on a.sex = 1 and b.sid=a.id and b.cid=c.id group by c.cource) as child

join `student` as a join `achievement` as b join `course` as c on a.sex = 1 and b.sid=a.id and b.cid=c.id where child.abc=b.point and child.cource=c.cource

很繁琐,子查询和查询的都是同一个表同一个条件,答案包对

不要姓名要学号的话就把名字换一下

原理

子查询出最高分和科目,再用父查询把(同条件下)把最高分和科目配对

‘玖’ SQL查询求每个同学的课程成绩的最高分,查询结果项包括:学生姓名、课程号及最高分

你好,你展示的第一种sql查询方案,其意思是:

先根据score表中的sno分组求每个sno的最高分数。这求得的当然是每个同学的最高分啦,但是只是获得了最高分,没有指定是谁的最高分,导致在前面的【SELECT SNAME ,CNO,GRADE FROM Score Y,StudentWHERE (STUDENT.SNO=Y.SNO)】查询结果集中的后面检索条件【AND Y.GRANDE IN (所有人的最高分集合)】,这样系统就会查询分数在“所有人的最高分”里的结果集了。

而第二种方案,除了限定分数范围(最高分),还限定了学生的编号(

SELECTMAX(GRADE)FROMSCOREWHERE
SNO=Y.SNO
GROUPBYSNO,sno=y.sno就是限定学生的编号。

),所以结果自然不同了。

根据你的要求,我给你提供一种查询方式。其实原理是一样的哦。

selectstu.sname,scr.cno,scr.gradefromstudentstu
leftjoinscorescronscr.sno=stu.sno
whereexists(select1from(selects.sno,max(s.grade)asmgfromscoresgroupbys.sno)twheret.sno=stu.sno
andt.mg=scr.grade)

希望能帮助你。

‘拾’ 如用使用sql语言列出每门课最高分的学生的信息

select 学生.学号, 学生.姓名, max(选课.成绩)over(partition by 选课.课程编码) as '最高成绩' , 选课.课程编码 ,课程.课程名称
from 学生,选课,课程
where 学生.学号=选课.学号 and 选课.课程编码=课程.课程编码

这样就可以把每门课程最高成绩的学生信息查询出来
可以在select 后面多加一列想要的学生信息