sql语句科目表学生表和成绩表的查询 每科的总成绩?查询它干什么?要查的话这样查:SELECT 科目表.KUMUID,KUMUName,SUM(CHENJI)AS SUM_CHENJI,AVG(CHENJI)AS AVG_CHENJIFROM 科目表,成绩表WHERE 科目表.KUMUID=成绩表.KUMUIDGROUP BY 科目表.KUMUID,KUMUName由于是查每科的总成绩和平均分,所以和学生没有关系,不用关联学生表不过我怀疑你是不是想查每个学生的总成绩和平均分,是这样查的:SELECT 学生表.UID,UName,SUM(CHENJI)AS SUM_CHENJI,AVG(CHENJI)AS AVG_CHENJIFROM 学生表,成绩表WHERE 学生表.UID=成绩表.UIDGROUP BY UID,UName对于楼主的补充的回答:你所要的SQL语句我已经写了,这个查询由于是查询每个科目的总成绩,所以不需要查询学生的姓名,所以不应关联学生表。只需要用成绩表关联科目表(目的是查询出科目的名称)。然后直接使用分组汇总(就是用 GROUP BY 子句和SUM、AVG两个聚合函数实现的)。分组查询是一种最基本的查询,现在的主流数据库都支持它。所以每一个学习数据库的人都应该很好的理解它。
sqlserver查询各系各科成绩最高分的学生的学号,姓名,系名,课程名称,成绩? 请参考下列SQL语句:21131234567891011select 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;上述语句已经测试5261通过。代码思路是:学生表与成绩4102表基于学号进行连接获取每个学号所在系1653名,然后用院系和课程号对成绩表分组汇总,求得每个院系、每个课程的最高得分(结果集c,含系名、课程号和最高分)。然后用结果集C再次与成绩表、学生表进行比对,筛选出获得每个系、每个课程的最高分的学号并包含课程号和系名(结果集t)。最后t通过连接获取学生表中的学生姓名、课程表中的课程名完成最后输出。
如何在excel工作表中按照某一项对数据进行分组,你如说成绩表按照班级进行分组? 可以先用高级筛选(根据自己要求)然后分类汇总