例61:查询学生的考试成绩(要求查询学号、姓名、课程名称和考试成绩),同时计算每个学生的平均成绩、最高成绩和最低成绩。

篱归 2017-05-12 03:37:38
各位哥哥姐姐,小弟写作业遇到了一些问题,卡了好久,不知道怎么写现在是用了视图,视图如下

我写的是
select 学号,姓名,课程名称,考试成绩,avg(考试成绩)平均成绩,max(考试成绩)最高成绩,min(考试成绩)最低成绩
from G1
group by 学号,姓名,课程名称,考试成绩;
结果如下


如果有哥哥姐姐回答,小弟感激不尽!!
原来的表是这样的



...全文
12310 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
篱归 2017-05-22
  • 打赏
  • 举报
回复
大哥我用派生表写出来了

select 学生.学号,姓名,课程名称,考试成绩,平均成绩,最高成绩,最低成绩
from 选课,课程,学生,(select 选课.学号,avg(考试成绩) as 平均成绩,max(考试成绩)as 最高成绩,min(考试成绩)as 最低成绩 from 选课 group by 学号)as SC1
where 选课.课程编号=课程.课程编号 and 学生.学号=选课.学号 and SC1.学号=学生.学号;




篱归 2017-05-12
  • 打赏
  • 举报
回复
谢谢老哥~~但是我没弄出来那就不管它了吧【破涕为笑】
二月十六 版主 2017-05-12
  • 打赏
  • 举报
回复 2
我觉得一般没人这么查询,可能会查每个人的最高最低平均,但前边不应该带着每个人每科的成绩和课程名字吧?
但是按照要求写了,试试下边这个吧:

--测试数据
if not object_id(N'Tempdb..#Student') is null
drop table #Student
Go
Create table #Student([SNo] nvarchar(28),[Name] nvarchar(22))
Insert #Student
select N'04014101',N'曹波' union all
select N'04014111',N'成铭'
GO
if not object_id(N'Tempdb..#Course') is null
drop table #Course
Go
Create table #Course([CNo] nvarchar(26),[Name] nvarchar(23))
Insert #Course
select N'B00016',N'数据库' union all
select N'B00101',N'运筹学' union all
select N'B00018',N'系统分析与设计'
GO
if not object_id(N'Tempdb..#Course_Student') is null
drop table #Course_Student
Go
Create table #Course_Student([SNo] nvarchar(28),[CNo] nvarchar(26),[Scores] int)
Insert #Course_Student
select N'04014101',N'B00016',90 union all
select N'04014101',N'B00101',80 union all
select N'04014101',N'B00018',70 union all
select N'04014111',N'B00016',100 union all
select N'04014111',N'B00101',95 union all
select N'04014111',N'B00018',60
Go
--测试数据结束
SELECT a.SNo ,
b.Name ,
c.Name ,
a.Scores ,
t.*
FROM #Course_Student a
JOIN #Student b ON b.SNo = a.SNo
JOIN #Course c ON c.CNo = a.CNo
JOIN ( SELECT SNo ,
MAX(Scores) AS MaxScores ,
MIN(Scores) AS MinScores ,
AVG(Scores) AS AvgScores
FROM #Course_Student
GROUP BY SNo
) t ON t.SNo = a.SNo


逍遥清风_Frank 2017-05-12
  • 打赏
  • 举报
回复
建议楼主把数据贴出来,而不是截图的形式
1,项目功能:   学校教务管理系统根据需求分析,分为三个用户类型:管理员,学生,教师,而每个用户类型具备不同的功能。管理员管理用户信息,系统信息,课程审核等,学生可以查询课程成绩信息,还可以修改个人信息。教师可以发布课程,修改个人信息等1. 公告管理:管理员可以添加修改首页的公告,发布通知,让学生和教师第一时间掌握学校动态。2. 学生信息的录入:不同地域的学生通过各种途径不择地点、不择时间地自主上传自己的基本档案(不合要求的档案可以由管理员及时清除)。3. 学生信息的查询学生的档案信息发在网上可以让全班、全校的人来查询。使用者可以通过多种方式(学期,年级,班级,姓名学号等)的查询,查看自己需要的学生信息。4. 学生信息的修改:通过网络在任何地方,管理员均可随时对转入、转出的学生进行添加和删除,实现了信息的动态管理。 5. 考试的管理:管理员依据学院和学期添加考试,更改考试的科目。6. 学生成绩的录入:管理员可以通过考试种类为每期考试录入学生成绩。7. 学生成绩查询学生成绩信息发在网上可以让学生查询。使用者可以通过多种方式(学期,年级,班级,学号考试等)查询,查看自己需要的学生成绩学生成绩的修改:管理员均可修改学生成绩,实现信息管理的高效化       适合做毕业设计参考项目。2,涉及技术:SSM框架,Tomcat3,开发环境:IDEA,MySQL数据库4,讲解方式:从环境安装,项目搭建,以及项目介绍等进行讲解5,包含资料:项目源码(含数据库文件),环境安装包,项目文档。

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧