sql-server – 从数据库中获取上述普通学生
发布时间:2020-12-12 06:52:32 所属栏目:MsSql教程 来源:网络整理
导读:我创建了一个包含以下内容的视图: student_full_name subject_code result Jennifer Higgins CS1234 81 Jennifer Higgins CS1235 90 Kal Penn CS1234 70 Kal Penn CS1235 60 Han Solo CS1234 45 Han Solo CS1235 70 我想得到: 每个学生的平均成绩就像詹妮弗
我创建了一个包含以下内容的视图:
student_full_name subject_code result Jennifer Higgins CS1234 81 Jennifer Higgins CS1235 90 Kal Penn CS1234 70 Kal Penn CS1235 60 Han Solo CS1234 45 Han Solo CS1235 70 我想得到: >每个学生的平均成绩就像詹妮弗希金斯参加CS1234和CS1235一样. 我知道我必须在这里使用子查询才能获得所有结果的AVG. SELECT student_full_name,AVG(results) AS average_result FROM viewEnrol WHERE average_result > ( SELECT (AVG(results)) FROM viewEnrol GROUP BY student_full_name //编辑 输出应该是这样的. Kal Penn和Han Solo没有列出,因为他们没有达到高于平均水平. student_full_name subject_code result Jennifer Higgins CS1234 85.5 有帮助吗? 解决方法这应该做的工作.第一个内部查询将为您提供所有学生的平均结果.虽然第二个将给表格的平均值. SELECT student_full_name FROM (SELECT student_full_name,AVG(results) AS average_Sresult FROM viewEnrol GROUP BY student_full_name) sre,(SELECT (AVG(results)) tavg FROM viewEnrol) ta WHERE sre.average_Sresult > ta.tavg PS:你不应该采取avg avg而不是平均所有结果. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |