【发布时间】:2020-05-25 20:47:19
【问题描述】:
我有一个可以按字母顺序排序的条目表(基本上是:单词)。我已经知道总页数,所以我可以显示类似
1 2 3 ... 19 20 带有 OnClick 处理程序以翻到新页面。如果特定页面的结果已经加载,它会简单地显示它,否则会发出一个带有 OFFSET 和 LIMIT 的新 SQL 请求。
现在,当用户将鼠标悬停在页面“3”的链接上时,最好有一个工具提示显示每个页面上的第一个条目。我知道我可以在鼠标悬停上发出请求,但是否可以在第一个查询中获取此列表?
示例表单词:
+-ID-+----Word---+
+ 1 + ability +
+ 2 + able +
+ 3 + about +
+ 4 + above +
+ 5 + accept +
+ 6 + according +
+ 7 + account +
+----+-----------+
示例初始查询(显然 LIMIT 2 在实际查询中类似于 LIMIT 50)
SELECT * FROM words ORDER BY word ASC LIMIT 2 OFFSET 0
进一步查询示例(例如,如果用户点击页面“3”):
SELECT * FROM words ORDER BY word ASC LIMIT 2 OFFSET 4
想要的结果:
我希望有 一个 初始查询,它返回 ability 和 able(显然),但随后也返回 about(第 2 页的第一项)、accept(第 3 页的第一项)和 account(第 4 页的第一项)。同样,我确信使用 MouseOver 上的事件处理程序或类似的东西会很容易,或者对于两个后续查询也可能不会太难,但如果可能的话,我希望在一个查询中完成。如果“其他页面的第一页”项目的名称不同,那将是最好的,但我想这也会以不同的方式进行管理。初始查询将始终使用OFFSET 0(即用户无法从第 12 页开始)。
目前在 PostgreSQL 版本 12.1
【问题讨论】:
标签: sql postgresql pagination