MYSQL:使用字母数字 ID 在特定值之后选择接下来的 100 行
Posted
技术标签:
【中文标题】MYSQL:使用字母数字 ID 在特定值之后选择接下来的 100 行【英文标题】:MYSQL: Select next 100 rows, after a specific value, using alphanumeric Id's 【发布时间】:2014-02-13 12:04:24 【问题描述】:我正在将大量表条目从一个数据库合并到另一个数据库。我一次不能合并超过 100 个条目。
我使用时间戳来识别条目,条目按时间排序。 所以我曾经检查我最后一个条目的时间戳,然后我从那时起合并了 100 个条目。
现在我得到了很多具有相同时间戳的条目。 (假设我有 104 个具有相同时间戳的条目。我的应用程序将合并 100 个条目,其他条目将丢失。)
每个条目都有一个单独的随机字母数字 ID。我以为我可以这样进行:
获取我的表 B 的最后一个条目, 检查最后一个条目的随机字符串 在表 A 中查找随机 id 获取该条目之后的下 100 个条目。如何将其放入查询中?如果这将是一个数字 id,我可以使用这种方法 Select rows after a row with a certain value
但我不知道如何选择特定字母数字 id 之后的项目。
【问题讨论】:
您的查询是什么样的? 我尝试了很多方法。但我不知道如何选择一个值后面带有特定字符串的条目。 【参考方案1】:-
将
$offset
和$current
初始化为0。
打电话
SELECT stamp, id
FROM TableA WHERE stamp >= $current
ORDER BY stamp, id
LIMIT $offset, 100
收集结果。
将$current
设置为最高stamp
将$offset
设置为stamp
最多的结果数。
回到 2。
【讨论】:
这个的关键是通过id
排序,所以从一个调用到下一个调用排序是稳定的(总是产生相同的排序)。
@GordonLinoff 没错。我差点忘了放。以上是关于MYSQL:使用字母数字 ID 在特定值之后选择接下来的 100 行的主要内容,如果未能解决你的问题,请参考以下文章