【问题标题】:Room - Is it possible to use OFFSET and FETCH NEXT in a query?Room - 是否可以在查询中使用 OFFSET 和 FETCH NEXT?
【发布时间】:2018-11-28 09:21:42
【问题描述】:

我正在尝试在 Room 数据库 android 中实现分页构建,我需要有子句 OFFSETFETCH NEXT 不允许我使用,有什么方法可以使用这些子句实现查询。做了一些研究,但没有得到任何结果。我试图在 ROOM dao 上实现的 SQL 查询如下所示:

SELECT * FROM Persons ORDER BY id OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;

【问题讨论】:

    标签: android jquery sql database android-room


    【解决方案1】:

    这就是我设法实现的方法,并且运行良好:

    (Kotlin 示例)

    SELECT * FROM Persons WHERE name LIKE :param LIMIT :pageSize OFFSET :pageIndex
    

    地点:

    • PARAM = 搜索条件,

    • PAGESIZE = 每页返回的行数,

    • PAGEINDEX = 要返回的页面

    【讨论】:

    • PAGEINDEX 是必须忽略的项目数,如 SQLite 或 ?你能解释一下吗?
    • 它真的有效吗?我每次查询都得到相同的结果?
    【解决方案2】:

    接受的答案几乎是正确的,以下对我有用:

    SELECT * FROM Persons 
    WHERE name LIKE :param 
    LIMIT :pageSize 
    OFFSET :pageIndex * :pageSize
    

    【讨论】:

      猜你喜欢
      • 2021-06-19
      • 2019-02-20
      • 2012-09-03
      • 1970-01-01
      • 1970-01-01
      • 2016-01-09
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      相关资源
      最近更新 更多