如何在Xquery中找到属性的平均值?

时间:2014-11-16 17:31:18

标签: attributes find xquery average

这是:

<tourism>
    <hotel name = "radisson">
        <room id="001" price = "150">
        <room id="002" price = "250">
    </hotel>
</tourism>

我想找到旅游中每家酒店的平均价格。这是正确的代码吗? 输出应该是酒店名称和该酒店房间的平均价格。

FOR $h in (document("tourism.xml")tourism/hotel[name=$n]
LET $a = avg(document("tourism.xml") $h/@price)
RETURN    <tourism> 
              $n        //returns hotel name
              $a        //returns average prices of all rooms
          </tourism>

1 个答案:

答案 0 :(得分:0)

这样的事情怎么样?

<tourism>
{
  for $hotel in doc("tourism.xml")/tourism/hotel
  return
    <hotel>
      <name>{string($hotel/@name)}</name>
      <average>{avg($hotel/room/xs:float(@price)}</average>
    </hotel>
}
</tourism>