美文网首页
统计语法

统计语法

作者: echo0x | 来源:发表于2020-06-08 15:04 被阅读0次

1.统计总数count(id)

{
    "index": "index",
    "type": "type",
    "from": 0,
    "size": 0,
    "body": {
        "sort": {
            "created_at": "desc"
        },
        "query": {
            "bool": {
                "filter": [],
                "must": [{
                    "match": {
                        "shop_id": 13299420
                    }
                }],
                "must_not": []
            }
        },
        "_source": {
            "includes": ["COUNT"],
            "excludes": []
        },
        "aggregations": {
            "count": {
                "value_count": {
                    "field": "id"
                }
            }
        }
    }
}
// php语句
$searchParams = [
    'index' => INDEX,
    'type' => TYPE,
    'from' => $offset,          // 分頁
    "size" => $limit,           // 條目
    'body' => [
        'sort' => [
            $column => $sort
        ],
        'query' => [
            'bool' => [
                'filter' => [],
                'must' => $masts,
                'must_not' => $must_not,
            ]
        ],
        '_source'=>[
            'includes' => [
                0 => 'COUNT',
            ],
            'excludes' => [
            ],
        ],
        'aggregations'=>[
            'count' => [
                'value_count' => [
                    'field' => 'id',
                ],
            ],
        ]
    ]
];

2.sum group by统计

// sql语法
SELECT 
  SUM(order_amount) 
FROM
  table
WHERE shop_id = 13299420 
  AND guider_id IN (
    53507531,
    53507529,
    53507527,
    53507519,
    53507509,
    53507507,
    53507505,
    53507431,
    53507424,
    53507419
  ) 
GROUP BY guider_id ;
// ES语法
{
    "index": "index",
    "type": "type",
    "from": 0,
    "size": 0,
    "body": {
        "query": {//query是where条件
            "bool": {
                "filter": {
                    "terms": {
                        "guider_id": [53507531, 53507529, 53507527, 53507519, 53507509, 53507507, 53507505, 53507431, 53507424, 53507419]
                    }
                },
                "must": {
                    "match": {
                        "shop_id": 13299420
                    }
                }
            }
        },
        "aggregations": {
            "guider_id": {
                "terms": {
                    "field": "guider_id",// 相当于group by guider_id
                    "size": 200
                },
                "aggregations": {
                    "order_sum": {
                        "sum": {
                            "field": "order_amount"// 相当于 sum(order_amount) as order_sum
                        }
                    }
                }
            }
        }
    }
}

PHP语句

$orderSumSearchParams = [
    'index' => ES_GUIDER_ORDER_LIST_INDEX,
    'type' => ES_GUIDER_ORDER_LIST_TYPE,
    'from' => 0,          // 分頁
    "size" => 0,           // 條目
    'body' => [
        'query' => [
            'bool' => [
                'filter' => [
                    "terms"=>[
                        "guider_id"=>$guiderIdArr
                    ]
                ],
                'must' => [
                    "match"=>[
                        "shop_id"=>$shop_id
                    ]
                ],
            ]
        ],
        "aggregations"=> [
            "guider_id"=> [
                "terms"=> [
                    "field"=> "guider_id",
                    "size"=> 200
                ],
                "aggregations"=> [
                    "order_sum"=> [
                        "sum"=> [
                            "field"=> "order_amount"
                        ]
                    ]
                ]
            ]
        ]
    ]
];

3.查询0<余额<50的会员人数和余额总数

//sql
SELECT 
  SUM(balance),
  COUNT(id) 
FROM
  merchant_member 
WHERE merchant_id = 10001460 
  AND balance > 0 
  AND balance < 50 ;
// ES
merchant_member/_search?merchant 【POST】
{
  "query": {
    "bool": {
      "filter": [
        {
          "range": {
            "balance": {
              "gt": "0",
              "lt": "50"
            }
          }
        }
      ],
      "must": {
        "match": {
          "merchant_id": 100
        }
      }
    }
  },
  "aggregations": {
    "intraday_return": {
      "extended_stats": {
        "field": "balance"
      }
    }
  }
}

相关文章

  • 统计语法

    1.统计总数count(id) 2.sum group by统计 PHP语句 3.查询0<余额<50的会员人数和余额总数

  • ali sls dashboard 使用技巧

    统计语法 添加索引

  • shell -- 字符处理命令

    1、sort 排序命令 语法: 选项: 2、wc 统计命令 语法: 选项

  • git 代码量统计

    git代码量统计 代码量按人员统计 代码量按人员和时间统计 markdown语法入门

  • 操作大文件

    查看文件行数 使用wc指令 语法:wc[选项] 文件 -c 统计字节数 -l 统计行数 -w 统计字数 示例:wc...

  • JVM性能调优监控工具之jstat

    四、jstat(JVM统计监测工具) 语法格式如下: jstat [ generalOption | output...

  • 职场Excel必备函数:Countif函数

    countif函数用于统计满足某种条件时,单元格的数量 语法 =countif(数据区域,统计条件) 场景 1.统...

  • Linux命令学习之:wc命令

    Linux命令学习之:wc命令 统计文件里面有多少单词,多少行,多少字符。 wc语法 默认使用wc统计/etc/p...

  • wc命令

    wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。 语法 wc [选项] 文件… 说明 ...

  • 托福考试语法满分全攻略 (1)

    统计显示,托福考试中我国80%以上的考生语法成绩在听力、语法、阅读三部分中最好。 托福语法对于考生能否获得高分,即...

网友评论

      本文标题:统计语法

      本文链接:https://www.haomeiwen.com/subject/pwcrtktx.html