【问题标题】:How to do pagination in clickhouse如何在clickhouse中进行分页
【发布时间】:2019-08-17 21:07:00
【问题描述】:

您能否建议我如何在 click house 中进行分页? Dor example 在弹性搜索中,我执行如下聚合查询。这里弹性搜索采用参数分区号和分区大小并给出结果。假设我们总共有 100 条记录,如果我们给分区大小 10 和分区号 2,那么我们将获得 11-20 条最新记录。

考虑到插入表格中的数据,我们如何在点击屋中做到这一点。

SearchResponse response = elasticClient.prepareSearch(index)
    .setTypes(documentType)
    .setQuery(boolQueryBuilder)
    .setSize(0)
    .addAggregation(AggregationBuilders.terms("unique_uids")
    .field(Constants.UID_NAME)
    .includeExclude(new IncludeExclude(partition,numPartitions))
    .size(Integer.MAX_VALUE))
    .get();

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    根据规范,limit 和 offset 的通用 sql 语法将起作用:

    LIMIT n, m 允许您在跳过前 n 行后从结果中选择前 m 行。还支持LIMIT m OFFSET n 语法。

    https://clickhouse.yandex/docs/en/query_language/select/#limit-clause

    【讨论】:

      【解决方案2】:

      我认为您只想选择结果集的一个子集?我还不需要这样做,但似乎你可以指定你希望 CH 以 (https://clickhouse-docs.readthedocs.io/en/latest/formats/index.html) 返回数据的格式并从那里开始。例如,选择 ^^ 文档中所示的一种 JSON 格式,然后从 JSON 响应中获取适合您情况的结果子集。

      【讨论】:

        猜你喜欢
        • 2019-10-22
        • 2019-04-23
        • 2017-10-03
        • 2017-01-20
        • 2012-06-04
        • 2014-05-08
        • 2019-08-22
        • 2021-03-16
        • 2019-12-30
        相关资源
        最近更新 更多