如何编写Elasticsearch ESQL去重(Distinct)查询?
解决方法
对应SQL中distinct(session_id)的去重需求,你需要在现有ESQL语句后添加以下管道处理:
- 用
dedup session_id命令对session_id字段去重,保留每个唯一值的第一条记录 - 用
keep session_id命令过滤结果,仅返回session_id字段(让结果和原SQL输出完全匹配)
最终完整的ESQL语句:
from my_table | where userid == 20 | dedup session_id | keep session_id
如果不需要严格限制返回字段,仅添加dedup session_id也能实现去重,不过加上keep session_id会让输出更贴合原SQL的结果。
内容的提问来源于stack exchange,提问作者khateeb
相关产品推荐
相关产品推荐

