假设我有一个XML文件,其中包含具有以下结构的产品元素:
<product>
<name></name>
<price></price>
</product>
我需要查询才能获得最昂贵的产品。以下XQuery工作正常:
max(
for $product in collection('/Products')//product
return ($product/prize)
)
但我想得到最贵产品的名称。 我无法通过使用max()函数的简单flwor查询来弄清楚如何实现这一点。
答案 0 :(得分:1)
计算最大值预检,并使用谓词返回与之匹配的产品:
let $products := collection('/Products')//product
let $max := max($products/prize)
return $products[prize = $max]