gpt4 book ai didi

sql - 如何使用seek pagination获取下一个数据集?

转载 作者:行者123 更新时间:2023-11-29 13:07:39 25 4
gpt4 key购买 nike

我正在尝试在使用键集分页(搜索分页)进行分页时进行排序。但是,其中一个字段不是唯一的,只能是真/假 (0/1)。在键集分页中,您从一个查询中获取最后一个 ID,并将其用于下一页,对吧?我将如何处理这种情况?

我开始于:

select * from foo order by admin desc, name asc limit 3

返回

admin name
1 a
1 b
1 c

然后我应该再做一次查询,只带参数

select * from foo where (admin, name) > ('1', 'c') order by admin desc, name asc limit 3

然而这没有任何返回!

我怎样才能解决这个问题,让它带来?

admin name
0 a
0 d
0 x

下面的数据以获得更好的上下文:

我有这张 table

foo(
name varchar
admin varchar(1) (0 or 1)
);

我有这个数据

admin name
1 a
1 b
1 c
0 a
0 d
0 x

当我运行这个查询时

SELECT * from foo 
order by admin desc, name asc

有了这个指标

b-tree(admin desc, name asc)

最佳答案

因为 admin 是数字,你可以使用

WHERE (-admin, name) > (-1, 'c')

如果列中没有 NULL,那应该可以正常工作。

对于字符串形式的键,请查看 this question及其答案。

为避免出现间隙,请确保在 ORDER BYWHERE 子句中包含主键。

关于sql - 如何使用seek pagination获取下一个数据集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59078566/

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