如何在xQuery中查找元素的平均值?

时间:2019-05-09 17:35:39

标签: database xquery

查找平均工资大于5000的部门的名称

我有这样的XML代码。

<emps>
    <employee ename="Ramesh">
        <department>
            <name>IT</name> 
            <salary>6000</salary>
        </department>
    </employee>
    <employee ename="Ram">
        <department>
            <name>IT</name> 
            <salary>16000</salary>
        </department>
    </employee>

     <employee ename="Sam">
        <department>
            <name>Sales</name> 
            <salary>1000</salary>
        </department>
    </employee>
</emps>

预期的输出如下。 IT是唯一一个平均薪资高于5000的部门

<department>IT</department>

1 个答案:

答案 0 :(得分:1)

有一个avg函数,在XQuery 3和更高版本中,您可以使用FLOWR表达式的group by子句轻松地对项目进行分组:

for $dep in //department
group by $name := $dep/name
where avg($dep/salary) > 5000
return <department>{$name}</department>

https://xqueryfiddle.liberty-development.net/eiQZDbr