三个字段人员ID 时间 数量
10001,'2021-06-01',1
10001,'2021-06-01',2
10002,'2021-06-01',1
10002,'2021-06-01',3
我要通过时间筛选出数量为1的记录人 且这个人没有数量2的记录(这个不受查询条件时间管控 只要这个有数量为2的就不统计该人)
这个ES语句该怎么写
有一种方案 就是根据条件查询符合数量为1 的人员ID 再根据人员ID去查有没有对应数量为2的记录 如果有就在代码里面过滤
有想过先根据条件按人员分组 然后再分组里面过滤 但是再分组里面过滤的话 这个数量为2的记录就局限再查询条件里面了,
因为分组是通过查询条件后
现在卡再就是过滤数量为2的条件是不受查询条件控制的 然后又要通过这个去过滤掉根据查询条件得到数量为1的人员
Elasticsearch 版本6.8
现在想问有没有那种解决方案
10001,'2021-06-01',1
10001,'2021-06-01',2
10002,'2021-06-01',1
10002,'2021-06-01',3
我要通过时间筛选出数量为1的记录人 且这个人没有数量2的记录(这个不受查询条件时间管控 只要这个有数量为2的就不统计该人)
这个ES语句该怎么写
有一种方案 就是根据条件查询符合数量为1 的人员ID 再根据人员ID去查有没有对应数量为2的记录 如果有就在代码里面过滤
有想过先根据条件按人员分组 然后再分组里面过滤 但是再分组里面过滤的话 这个数量为2的记录就局限再查询条件里面了,
因为分组是通过查询条件后
现在卡再就是过滤数量为2的条件是不受查询条件控制的 然后又要通过这个去过滤掉根据查询条件得到数量为1的人员
Elasticsearch 版本6.8
现在想问有没有那种解决方案
2 个回复
thewind
赞同来自: zhengbufang 、meowCoder123
thewind
赞同来自: meowCoder123
二、查询语句
管道聚合 bucket_selector