首页 / 问答 / Elasticsearch(ES)中如何实现类似SQL的group by和having的SQL语句呢?

Elasticsearch(ES)中如何实现类似SQL的group by和having的SQL语句呢?

0

在SQL中,要对分组后的数据进行条件筛选,可以使用HAVING()函数实现,比如以下的SQL语句:

SELECT COUNT(*) FROM
(
   SELECT
    senderResellerId,
    SUM(requestAmountValue) AS t_amount
   FROM
    transactions
   GROUP BY
    senderResellerId
   HAVING
    t_amount > 10000 ) AS dum;

现在要在Elasticsearch(ES)中实现类似的查询,Elasticsearch(ES)的DSL查询语句应该如何实现呢?

回复 [×]
提交评论
请输入评论内容

1 个回答

  • 0

    在Elasticsearch(ES)中,要实现类似SQL的GROUP BY…HAVING()的DSL查询,可借助Elasticsearch(ES)的bucket_selector聚合,示例DSL查询语句如下:

    现在向Elasticsearch(ES)中写入一些测试数据:

    查询的响应结果如下:

    Rector的个人主页

    Rector

    2022-07-07 回答

    我来回答