嵌套SQL选择使用弹性搜索 [英] Nested SQL select using elasticsearch

查看:174
本文介绍了嵌套SQL选择使用弹性搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在弹性搜索中写这个:

How can I write this in elasticsearch:

    SELECT avg(sum) 
    FROM (
         SELECT sum(rev) as sum
         FROM table
         GROUP BY user_id
    )


推荐答案

如果您使用的ES版本是2.x,请使用平均值聚合

If ES version you are using is 2.x use Avg Bucket Aggregation

{

"aggs": {
  "group_by_user": {
     "terms": {
        "field": "userId"
     },
     "aggs": {
        "rev_sum": {
           "sum": {
              "field": "rev"
           }
        }
     }
  },
  "avg_monthly_sales": {
     "avg_bucket": {
        "buckets_path": "group_by_user>rev_sum"
       }
     }
   }
 }

希望它有帮助

这篇关于嵌套SQL选择使用弹性搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆