我有 2 张 table : 分数(学生号、分数) 学生(SNum,SName)
如果我这样做
从 Marks join Student 中选择 SName、marks-avg(marks) on SNum = Studentnum
然后我只返回 1 行。
有没有一种方法可以返回所有学生姓名列表以及学生分数与平均分的差值(学生分数 - 平均数)而不为平均分分配变量?
最佳答案
您想要混合聚合值和非聚合值。这使用子查询,但可能还有其他选项,具体取决于您的服务器。
SELECT
SName,
marks - (SELECT avg(marks) FROM Marks as m2 WHERE m2.studentnum = m.studentnum)
FROM
Marks as m INNER JOIN
Student as s
ON s.SNum = m.studentnum
关于average - 在 ISQL 中不使用变量的情况下,将列中的值减去同一列的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11381195/