场景: 我正在显示一个记录表。它最初显示前 500 个并在底部显示“显示更多”,然后返回下一个 500。
问题: 如果在初始显示和单击“显示更多”之间添加了 1 条记录,这将导致“按日期排序,偏移 500,限制 500”重叠 1 行。
我想“按日期排序,偏移到‘显示的最后一行的 id’,限制 500”
我的行 ID 是 UUID。我对可以达到相同结果的替代方法持开放态度。
最佳答案
我认为您可以在 where 中使用子查询来完成此操作。
例如假定您正在对 users
表进行分页,并且您希望记录在给定用户之后:
SELECT *
FROM users
WHERE created_at > (
SELECT created_at
FROM users
WHERE users.id = '00000000-1111-2222-3333-444444444444'
LIMIT 1
)
ORDER BY created_at DESC limit 5;
关于PostgreSQL:返回特定 ID 后的有序行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27712672/