XQuery/XPath 限制金额

XQuery/XPath LIMIT a sum

我是 XQuery 新手。我需要在 XQuery 中限制为 1,但我遇到了问题。

我试图通过找到每个玩家的分数并将分数相加以获得总分数来找出锦标赛的获胜者。然后我按降序排序并尝试限制总分,但是我在尝试限制 XQuery 时遇到问题。

这里我想获得最高分,但我尝试使用 subsequence($sequence, $starting-item, $number-of-items) 和 [position()] 但它似乎不起作用.

for $pair_ids in distinct-values(fn:doc("tourny.xml")/Competition[@date = "2012-12-12"]/Tennis/Partner/@pair_id)
let $total_scores := sum(fn:doc("tourny.xml")/Competition[@date = "2012-12-12"]/Tennis/Partner[@pair_id = $pair_ids]/@score)
order by $total_scores descending
return 
    $total_scores

输出给我:

$total_scores:
34
11
20

如何限制结果,让我只得到 34 作为最高分? 谢谢

您可以使用fn:max()功能如下:

fn:max(
for $pair_ids in distinct-values(fn:doc("tourny.xml")/Competition[@date = "2012-12-12"]/Tennis/Partner/@pair_id)
let $total_scores := sum(fn:doc("tourny.xml")/Competition[@date = "2012-12-12"]/Tennis/Partner[@pair_id = $pair_ids]/@score)
order by $total_scores descending
return $total_scores
)