nested 查询应用
前言
有这样的四条这样的数据:
需求
要统计出status为200的条数,可以看到这四条数据的ajaxs字段是json类型的数据集合,因此可能在一条数据中存在status为200的多条数据。
查询过程
就用nested聚合查询来试试:
可以看到有统计了两条,查看一下明细:
看到上面统计的是四条数据中有status为200的就算一条记录,而我们要的应该是(1,2)。继续搞起:
发现很奇怪怎么是200和400,不应该是1和2吗???
这里发现:sum(nested(ajaxs.status))求的是将满足条件的ajaxs.status的值进行了相加,所以需要将统计的(200,400)取出来业务上去除以200才可以满足。这里还需要注意一点的是:status必须是数值型的才可以。
参考我的另一篇文章:https://www.cnblogs.com/wynjauu/articles/9215658.html