如何获得变量的最大值? XQuery的

时间:2018-06-06 17:42:42

标签: xml max xquery

我知道有一个名为max()的函数,但它显然不会起作用,因为$ puntuacion没有收集,但单个值显示为dinamically。那么,我怎样才能获得最大的比赛分数?

/* this is xquery */
for $match in //summary
let $puntuacion := sum($match/team/@score)
return max($puntuacion)
<!-- this is key part of xml -->
<match>  
    <summary>
        <team name="Wales" score="19">
        </team>
        <team name="England" score="26">
        </team>
    </summary>
    <summary>
        <team name="Italy" score="11">
        </team>
        <team name="Ireland" score="13">
        </team>
    </summary>
</match>
<match>  
    <summary>
        <team name="Spain" score="20">
        </team>
        <team name="Croatia" score="15">
        </team>
    </summary>
    <summary>
        <team name="Germany" score="40">
        </team>
        <team name="France" score="36">
        </team>
    </summary>
</match>

1 个答案:

答案 0 :(得分:1)

让我们解构您的查询:它表示采用摘要元素的序列,并为每个元素计算该摘要中的分数总和(即将每个团队的分数相加),然后取最大值单一价值。

如果您想获得这些值的最大值,则需要将最大调用包含在FLWOR表达式中:max(for $match in //summary return sum($match/team/@score))