Room - 是否可以在查询中使用 OFFSET 和 FETCH NEXT?

Tau*_*shi 9 sql database jquery android android-room

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

SELECT * FROM Persons ORDER BY id OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
Run Code Online (Sandbox Code Playgroud)

Tau*_*shi 9

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

(科特林样本)

SELECT * FROM Persons WHERE name LIKE :param LIMIT :pageSize OFFSET :pageIndex
Run Code Online (Sandbox Code Playgroud)

在哪里:

  • PARAM = 搜索条件,

  • PAGESIZE = 每页返回的行数,

  • PAGEINDEX = 要返回的页面

  • 它真的有效吗?我每次查询都得到相同的结果? (4认同)

dqu*_*ias 6

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

SELECT * FROM Persons 
WHERE name LIKE :param 
LIMIT :pageSize 
OFFSET :pageIndex * :pageSize
Run Code Online (Sandbox Code Playgroud)