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>
解决方案
有一个avg
函数,在 XQuery 3 及更高版本中,您可以group by
使用 FLOWR 表达式的子句轻松地对项目进行分组:
for $dep in //department
group by $name := $dep/name
where avg($dep/salary) > 5000
return <department>{$name}</department>
推荐阅读
- spring-boot - 如何在单元测试中模拟 Spring Boot 应用程序上下文
- javascript - for 循环不会停止循环并导致网页崩溃
- swift - 函数创建 2 个相同的类实例而不是仅 1 个
- ruby-on-rails - 我应该如何在 Rails 中安全地保存用户访问代码?
- c# - Azure 和本地测试中的服务总线输出绑定引发错误
- mathematical-optimization - 如何通过使用具有 IFF 条件的方程作为 GAMS 中的切割来增加这个 MILP?
- c# - 十六进制范围模式匹配
- json - PowerShell 无法将 JSON 转换为 CSV
- bash - 什么时候 bash 变量被导出到子 shell 和/或被脚本访问?
- spring - SocketTimeoutException:新的 Spring Starter 项目