首页 > 解决方案 > 如何在 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>

标签: databasexquery

解决方案


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

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

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


推荐阅读