Nested SQL select using elasticsearch

拈花ヽ惹草 提交于 2019-12-12 05:40:08

问题


How can I write this in elasticsearch:

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

回答1:


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"
       }
     }
   }
 }

Hope it helps



来源:https://stackoverflow.com/questions/36539447/nested-sql-select-using-elasticsearch

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!