
要按块检索大量选择,您需要使用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
微信扫一扫
支付宝扫一扫