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

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

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


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



...全文
12678 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
建议楼主把数据贴出来,而不是截图的形式

34,838

社区成员

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

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