SQL在学生表中查询每个人的总分与平均总学分的差,要求显示学号、姓名、专业、总学分、与平均总学分的差 5

 我来答
wuliangii
2016-10-19 · TA获得超过165个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:118万
展开全部
T-SQL语句如下:
Select 学号,姓名,专业,总学分,总学分-(select avg(总学分) from [学生选课系统].[dbo].[学生表] where 专业=A.专业) as 与平均总学分的差 From [学生选课系统].[dbo].[学生表] as A
(*注:以上语句是学生与其所属专业的平均总学分的对比,即平均总学分是按专业分开计算的)

如果不用考虑区分专业,而是直接跟全校学生的平均总学分比较的话,用下面的语句:
Select 学号,姓名,专业,总学分,总学分-(select avg(总学分) from [学生选课系统].[dbo].[学生表]) as 与平均总学分的差 From [学生选课系统].[dbo].[学生表] as A
鬼谷子教主
2016-10-19 · TA获得超过2495个赞
知道大有可为答主
回答量:1996
采纳率:88%
帮助的人:546万
展开全部

既然总学分已经有了([学生表].[总学分]),那就简单,只需要对此表进行查询:

SELECT S1.*
,S2.[平均学分]
,S1.[总学分] - S2.[平均学分] AS [成绩偏差]
FROM [学生表] S1
,( -- 关联上一个统计表
SELECT AVG([总学分]) AS [平均学分]
FROM [学生表]
) S2 -- 注意,不要联接条件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式