sdg*_*sdh 2 postgresql pagination
假设我有一个包含(已建立索引)栏id : uuid和的事件表created : timestamp。
该id列是唯一的,但created不是。我想使用该created列按时间顺序排列表格。
像这样:
SELECT * FROM events WHERE created >= $<after> ORDER BY created ASC LIMIT 10
Run Code Online (Sandbox Code Playgroud)
这$<after>是从上一个查询中获取的模板参数。
现在,我可以看到两个问题:
created不是唯一的,因此无法完全定义顺序。也许应该是那种id, created?我应该如何在Postgres中解决这个问题?
SELECT * FROM events
WHERE created >= $<after> and (id >= $<id> OR created > $<after>)
ORDER BY created ASC ,id ASC LIMIT 10
Run Code Online (Sandbox Code Playgroud)
这样,每个时间戳记值的事件将按ID排序。您可以在任何地方拆分页面。
| 归档时间: |
|
| 查看次数: |
379 次 |
| 最近记录: |