在 MySQL 中按块检索大的选择?

在 mysql 中按块检索大的选择?

要按块检索大量选择,您需要使用ORDER BY LIMIT。语法如下:

SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 0,10;

从上面的语法中,你将从表中获取10行。在上述语法中,0代表表的结果集中的第一行,这意味着它是基于零索引的。LIMIT的第二个值表示可以从表中检索的最大行数。

如果你想获取10到30之后的行,那么在LIMIT中使用如下语法:

SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 10,20; //11 to 30

如果您想要另一组从 30 到 50 的行,请再次使用 LIMIT:

SELECT *FROM yourTableName ORDER BY yourColumnName LIMIT 30 ,20; 31 to 50.

为此,您需要使用临时表。语法如下:

DROP TEMPORARY TABLE IF EXISTS yourTemporaryTableName;CREATE TEMPORARY TABLE yourTempTableNameAS(   SELECT *FROM yourOriginalTableName   ORDER BY   LIMIT 0,100);

如果所有记录都在临时表中,则根据上面讨论的使用LIMIT从临时表中获取所有记录。

SELECT *FROM yourTemporaryTableName LIMIT 0,100;SELECT *FROM yourTemporaryTableName LIMIT 100,1000;

现在,由您来设置限制值。现在删除临时表是一个很好的做法。查询如下:

DROP TEMPORARY TABLE yourTemporaryTableName;

让我们来演示上面的讨论。首先创建一个表。创建表的查询如下:

百度文心百中 百度文心百中

百度大模型语义搜索体验中心

百度文心百中 22 查看详情 百度文心百中

mysql> create table getRecordsDemo   -> (   -> Id int NOT NULL AUTO_INCREMENT,   -> PRIMARY KEY(Id)   -> );Query OK, 0 rows affected (1.68 sec)

使用插入命令在表中插入一些记录。查询如下:

mysql> insert into getRecordsDemo values(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),();Query OK, 738 rows affected (0.34 sec)Records: 738 Duplicates: 0 Warnings: 0

现在创建一个像上表一样的临时表。创建临时表的查询如下:

mysql> drop temporary table if exists TempRecord;Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> create temporary table TempRecord   -> as   -> (   -> select * from getRecordsDemo order by Id limit 0,738   -> );Query OK, 738 rows affected (0.03 sec)Records: 738 Duplicates: 0 Warnings: 0

现在您可以使用LIMIT子句以块的形式获取结果。

案例1:以下查询用于从临时表‘TempRecord’中获取一些记录:

mysql> select *from TempRecord limit 0,10;

以下是输出结果:

+----+| Id |+----+|  1 ||  2 ||  3 ||  4 ||  5 ||  6 ||  7 ||  8 ||  9 || 10 |+----+10 rows in set (0.00 sec)

情况2:查询如下以获取下一组记录:

mysql> select *from TempRecord limit 10,20;+----+| Id |+----+| 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24 || 25 || 26 || 27 || 28 || 29 || 30 |+----+20 rows in set (0.00 sec)

情况3:查询如下,获取另一组记录:

mysql> select *from TempRecord limit 30,20;+----+| Id |+----+| 31 || 32 || 33 || 34 || 35 || 36 || 37 || 38 || 39 || 40 || 41 || 42 || 43 || 44 || 45 || 46 || 47 || 48 || 49 || 50 |+----+20 rows in set (0.00 sec)

以上就是在 MySQL 中按块检索大的选择?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/323244.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
composer如何创建可以被其他项目引用的library包
上一篇 2026年11月2日 15:31:04
管理者怎么赋能客户关系
下一篇 2025年11月16日 22:54:24

相关推荐

发表回复

登录后才能评论
关注微信