elasticsearch 多列 聚合 归类(类似 sql group by)
2016-03-24 09:48
567 查看
说明:省份的字段是province_id,是个int类型(es里面对应为long)。另外id是string,amount是double。
不能对string求sum等运算。
且,es的归类是从外向内的。先处理外层的,再处理内层的。
以省份进行分类,查看每个省份下的订单数量。
以省份进行分类,查看每个省份下的订单金额总和。
注:这是elasticsearch的功能,有一些公司是在lucene的基础上自己开发的,能不能支持这样的功能就不可而知了。请各位注意了,避免强行装逼失败。
不能对string求sum等运算。
且,es的归类是从外向内的。先处理外层的,再处理内层的。
以省份进行分类,查看每个省份下的订单数量。
{ "fields": [ "show_status" ], "size": 0, "aggs": { "_result": { "terms": { "field": "province_id", "size": 100 }, "aggs": { "result": { "value_count": { "field": "id" } } } } } }
以省份进行分类,查看每个省份下的订单金额总和。
{ "fields": [ "show_status" ], "size": 0, "aggs": { "_result": { "terms": { "field": "province_id", "size": 100 }, "aggs": { "result": { "sum": { "field": "amount" } } } } } }
注:这是elasticsearch的功能,有一些公司是在lucene的基础上自己开发的,能不能支持这样的功能就不可而知了。请各位注意了,避免强行装逼失败。
相关文章推荐
- 手动修改SQLITE数据库的版本
- Oracle session inactive状态临时表数据未清空问题
- Oracle生产固定GUID同时生成随机的GUID
- Mysql数据库中图片字段Blob类型和String类型相互转换
- MySql 里的IFNULL、NULLIF和ISNULL
- 防SQL注入过滤器的实现
- cmd中mysql常用操作
- 青云QingCloud RDS 服务率先支持 MySQL 5.7
- MyBatis的分页操作(MySQL)
- oracle 11g不能导出空表的多种解决方法
- Hibernate开发之oracle数据库建表
- mysql5.7.11修改root默认密码
- 利用正则表达式对比数据库
- Oracle 数据库 基础学习 (一) SQL基本知识
- ORACLE的监听日志太大,客户端无法连接 BUG:9879101
- sql教师表存储过程
- MSSQL部分补丁的列表及下载地址(持续更新)
- PowerDesigner远程连接oracle11g数据库,导入表,增加表注释
- oracle12c approx_count_distinct
- 个人项目中一些 Mysql 常见SQL语句