MySQL,问题:求出每科的平均成绩、最高成绩、最低成绩及对应的学生信息。

MySQL,问题:求出每科的平均成绩、最高成绩、最低成绩及对应的学生信息。,第1张

这题目考的是关联查询、分组、排序等基础知识

1.每科的平均成绩:

select avg(grade) from stu_grade group by course

2.每科的最高成绩及对应的学生信息:

select 

B.grade,

A.* 

from stu_grade as B

left join stu_info as A on B.stu_No = A.stu_No

group by B.course 

order by B.grade desc limit 1

3.每科的最低成绩及对应的学生信息:

select

B.grade,

A.* 

from stu_grade  as B 

left join stu_info as A on B.stu_No = A.stu_No

group by B.course 

order by B.grade asc limit 1

连个字段名都没有 ..............用

select * from tbname group by f2 having min(f3)

试试

-------第一步,求总成绩(我把总成绩放在一个视图里了)createviewtgasselect学号,sum(成绩)tfrom成绩表groupby学号-------第二步,将总成绩导入到学生表(先运行上面代码)update学生表set总分=tg.tfrom学生表,tgwhere学生表.学号=tg.学号------第三步,排名次select学号,姓名,总分,isnull((selectsum(1)from学生表where总分>A.总分),0)+1名次from学生表asAorderby(selectsum(1)from学生表where总分>=A.部分)-----------最后,嘿嘿,我能力不足,没做触发器了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7477010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存