elasticsearch-sql avg后如何进行除法
时间: 2023-07-20 14:31:39 浏览: 245
elasticsearch-sql2:基于Java Rest高级客户端的Elasticsearch-Sql组件【已淘汰】
5星 · 资源好评率100%
在elasticsearch-sql中,可以使用ES中的聚合函数进行除法运算。
例如,我们有一个索引,包含字段age和salary,我们想要计算平均薪资和平均年龄之间的比率。我们可以使用以下查询来实现:
```
POST /my_index/_search
{
"query": {
"match_all": {}
},
"aggs": {
"avg_salary": {
"avg": {
"field": "salary"
}
},
"avg_age": {
"avg": {
"field": "age"
}
},
"salary_age_ratio": {
"bucket_script": {
"buckets_path": {
"avgSalary": "avg_salary",
"avgAge": "avg_age"
},
"script": "params.avgSalary / params.avgAge"
}
}
}
}
```
在上面的查询中,我们使用了两个聚合函数avg来计算平均薪资和平均年龄。然后,我们使用bucket_script聚合函数来计算这两个值之间的比率。
请注意,bucket_script聚合函数需要指定buckets_path参数,以便引用我们要计算的两个平均值。然后,我们使用script参数来指定计算这两个值的数学公式。
这样,我们就可以得到平均薪资和平均年龄之间的比率。
阅读全文