【问题标题】:Paginating result set in oracle databaseoracle数据库中的分页结果集
【发布时间】:2014-05-22 04:50:40
【问题描述】:

我有以 oracle db 作为后端的高事务服务。许多客户端会调用我们的服务来获取数据。当我们收到数据请求时,我们需要查询 db,获取结果集并发送它们以分页方式。我不想要查询。但想知道真正发生了什么。说如果结果集有 20,000 行,如果我们需要在响应中每页发送 100 个数据,我怎么能提到还有剩余集数据,在响应中,以便客户端需要点击我们的服务以获取下一页?假设响应是 json 格式。resposne 格式应该是什么样的?我是 oracle 的新手。谢谢你的帮助。

【问题讨论】:

    标签: sql database oracle pagination


    【解决方案1】:

    要分页选择数据,试试

        select order_id, order_descr
      from (select order_id, order_descr, row_number() over(order by order_date desc) r
              from orders
              where customer_id = 123)
     where r between 1 and 101
    

    显示customer_id 123的订单1到100(第一页)。

    如果您在客户端收到超过 100 行数据,则存在更多数据。

    带有 order by 子句的内部 select 语句是必要的。

    【讨论】:

      猜你喜欢
      • 2021-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多