gpt4 book ai didi

sql - Postgres - 按组分页

转载 作者:行者123 更新时间:2023-11-29 12:19:00 25 4
gpt4 key购买 nike

假设我有一些数据:

id  |                stage | name
----+----------------------+------
1 | pyramid | act 1
2 | pyramid | act 2
3 | pyramid | act 3
4 | other stage | act 4
5 | other stage | act 5
6 | other stage | act 6
7 | other stage | act 7
8 | shangri la | act 8

我想使用分页将该数据加载到我的 UI 中 - 但我希望分页适用于组而不是行计数 - 实现此目的的最佳方法是什么?

因此第 1 页(如果按 section_id 分组)将产生:

  1 |          pyramid | act 1
2 | pyramid | act 2
3 | pyramid | act 3

最佳答案

如果您可以准确地指定您想要的条件,那么只需在 WHERE 子句中使用过滤器:

select *
from data
where stage = 'pyramid';

否则,如果您想要页码,则需要确定您的分组标准的排名是多少。你可以这样做:

select *
from data
where stage = (
select stage
from (
select stage, row_number() over ()
from data
group by stage
order by stage
) s
where row_number = <page number>
)

关于sql - Postgres - 按组分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37144859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com