如何在 slick + postgresql 上分页 select

how to get paginated select on slick + postgresql

在 postgresql 数据库中,使用 slick 3,最好的分页方式是什么?

您可以在 TableQuery 对象上使用 takedrop 方法。在生成的 SQL 查询中,它们将被翻译为 limitoffset

val users: TableQuery[UsersTable] = UsersTable.query

val firstPartOfUsers  = users.drop(0).take(25).result
val secondPartOfUsers = users.drop(25).take(25).result

这两个操作将转换为以下 SQL 个查询:

select "name", "email", "id" from "users" limit 25 offset 0
select "name", "email", "id" from "users" limit 25 offset 25