gpt4 book ai didi

MySQL:如何创建模糊LIMIT?

转载 作者:行者123 更新时间:2023-11-30 01:35:17 25 4
gpt4 key购买 nike

我需要使用 LIMIT 返回 5 条记录,每次调用函数时这些记录都会以偏移量递增,但我想使用模糊 LIMIT。

这个模糊 LIMIT 应该受到 A 列的影响,整个查询按 A 列升序排序。

这意味着,虽然 LIMIT 为 5,但如果在 A 列中遇到相同值的多个实例,则应暂时增加 LIMIT 以包含所有记录,直到该相同值的末尾。

它还应该返回某种指针来表示 LIMIT 已暂时增加了这么多,因此可以相应地发送下一个 OFFSET。

在下面的示例中,如果 LIMIT 落在记录号 5 上,则它应该包括直到记录 7 为止的所有内容。(因为 3 到 7 为止具有相同的值。)

Col A

1

2

3

3

3

3

3

4

5

6

我们如何创建这样的限制?如果有人能为我创建一个查询,我将非常感激,因为我是 MySQL 的新手。

我目前有正常的查询:

select table1.colA, table1.colB, table1.colC, table1.colD, table2.colD, table2.colE from table1 INNER JOIN table2 on table1.colD = table2.colD ORDER BY table1.colA ASC

最佳答案

在MySQL中,你可以这样做:

select colA
from t cross join
(select max(colA) as maxcolA
from (select colA
from t
order by colA
limit 5
) t
) const
where colA <= maxColA
order by colA

也就是说,找到第 5 行的值,然后使用该值进行比较。

在大多数其他数据库中,您可以更简单地表述为:

select colA
from t
where colA in (select colA from t order by colA limit 5)
order by colA

但是,MySQL 不允许对 in 子句中使用的子查询进行限制。

关于MySQL:如何创建模糊LIMIT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16988635/

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