0

これをelasticsearchでどのように書くことができますか:

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

1 に答える 1

0

使用している ES バージョンが 2.x の場合は、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"
       }
     }
   }
 }

それが役に立てば幸い

于 2016-04-11T03:47:14.197 に答える