所以我是XQuery的新手,并试图使用Avg功能来获得一些学生的平均GPA。因此,对于学生来说,我返回avg($ s / GPA),但这只是给了我一个巨大的所有学生名单和他们个人的GPA(我假设是平均的,因此相同)。这是实际的代码:
<T> {
for $s in doc("ComS363/UniversityDatasets/Student.xml")/Students/Student
return
<AverageGPA> {avg($s/GPA)} </AverageGPA>
} </T>;
当我得到结果列表时,它只是一个很长的列表,而不是一个结果:
<AverageGPA> 2.91 </AverageGPA>
<AverageGPA> 3.91 </AverageGPA>
<AverageGPA> 4.0 </AverageGPA>
<AverageGPA> 3.22 </AverageGPA>
<AverageGPA> 1.31 </AverageGPA>
<AverageGPA> 3.60 </AverageGPA>
....and so on......
我知道这可能是一个愚蠢的错误/我错过的东西,但在凌晨3点,我无法理解。在此先感谢您的帮助。
答案 0 :(得分:1)
你现在正在为每个学生打电话给avg(),你应该为所有学生打电话:
avg(doc("ComS363/UniversityDatasets/Student.xml")/Students/Student/GPA)