Postgres 通过按键设置分页选择 Distinct On

问题描述 投票:0回答:1

我在 Postgres 中有一张桌子

id 标题 ......
1 标题1 ......
2 标题2 ......
3 标题1 ......
4 标题13 ......
5 标题4 ......
6 标题7 ......
7 标题1 ......
8 标题1 ......
9 标题53 ......
10 标题11 ......
11 标题1 ......

我有一个使用 GORM 作为 ORM 的 Golang 应用程序

我需要选择列 id 和标题,其中标题应该不同,并且应该按 id 设置键分页。例如,如果页面有第 3 面,我应该选择

1 - 标题1 2 - 标题2 4 - 标题13

二维页面应该是

5 - 标题4 6 - 标题7 9 - 标题53

欢迎任何想法,甚至行sql

postgresql go distinct go-gorm keyset-pagination
1个回答
0
投票

您可以首先选择所有唯一的标题作为一个集合,然后从表中获取它们的 ID。例如:

WITH titles AS (
    select distinct title, id from my_table
)

SELECT my_table.id, my_table.title FROM oop3
JOIN titles ON titles.id = my_table.id
ORDER BY id -- or by title
LIMIT 3
OFFSET 3
© www.soinside.com 2019 - 2024. All rights reserved.