【问题标题】:XQuery Avg function only giving average of single elementXQuery Avg 函数仅给出单个元素的平均值
【发布时间】:2014-11-07 09:17:12
【问题描述】:

所以我是 XQuery 的新手,并尝试使用 Avg 函数来获取一些学生的平均 GPA。所以对于学生 $s 我返回 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 点我就是想不通。提前感谢您的帮助。

【问题讨论】:

    标签: database xquery saxon


    【解决方案1】:

    您现在为每个学生调用 avg(),您应该为所有学生调用一次:

    avg(doc("ComS363/UniversityDatasets/Student.xml")/Students/Student/GPA)
    

    【讨论】:

    • 做到了。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2013-12-29
    • 2018-12-07
    • 2013-07-22
    • 2018-12-31
    • 2015-12-26
    • 1970-01-01
    相关资源
    最近更新 更多