gpt4 book ai didi

sql - 如何获得表中的第n行,或者如何将表的子集分成大小相等的集合或行?

转载 作者:行者123 更新时间:2023-12-05 00:06:55 33 4
gpt4 key购买 nike

我有一个由主键(ID)和类型标识符(TYPE_ID)标识的异构数据表。我希望能够执行一个查询,该查询返回给定类型的一组范围,该范围分为偶数页面大小。例如,如果有10,000个类型为'1'的记录,并且我将页面大小指定为1000,则我希望返回10对数字,这些数字代表我可以在后续查询中的BETWEEN子句中使用的值,以一次查询DB 1000记录。

我最初的尝试是这样的

select id, rownum from CONTENT_TABLE 
where type_id = ? and mod(rownum, ?) = 0

但这是行不通的。

最佳答案

在返回选定的记录后,“评估”了rownum评估选择查询的where clause。因此,您需要
在另一个查询的rownum上选择。我给r作为rownum的别名:

select id from (
select
id,
rownum r
from
CONTENT_TABLE
where type_id = ?
)
where mod(r, ?) = 0

关于sql - 如何获得表中的第n行,或者如何将表的子集分成大小相等的集合或行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694429/

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