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 行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MYSQL 中选择包含所有字母和数字的行?

嵌套 MySQL 查询和字母数字排序

MySQL 根据特定字段值和行数选择多行

如何在mysql中只允许字母数字值

MySQL将特定值插入列

MySQL Select ID 出现在具有多个特定值的列的不同行上