GVKun编程网logo

Mysql必读Mysql中limit的用法实例详解

20

本文将分享Mysql必读Mysql中limit的用法实例详解的详细内容,此外,我们还将为大家带来关于lunalimitedMysql中limit的用法方法详解与注意事项、mysql中limit的使用_

本文将分享Mysql必读Mysql中limit的用法实例详解的详细内容,此外,我们还将为大家带来关于lunalimited Mysql中limit的用法方法详解与注意事项、mysql中limit的使用_MySQL、mysql中limit的用法、MYSQL中limit的用法_MySQL的相关知识,希望对你有所帮助。

本文目录一览:

Mysql必读Mysql中limit的用法实例详解

Mysql必读Mysql中limit的用法实例详解

《MysqL必读MysqL中limit的用法实例详解》要点:
本文介绍了MysqL必读MysqL中limit的用法实例详解,希望对您有用。如果有疑问,可以联系我们。

导读:本节内容:MysqL中limit的用法MysqL limit的用法: SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset在MysqL数据...

MysqL入门本节内容:
MysqL中limit的用法

MysqL limit的用法:
 

SELECT * FROM table   LIMIT [offset,] rows | rows OFFSET offset

MysqL入门在MysqL数据库中,LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.
LIMIT 接受一个或两个数字参数.参数必需是一个整数常量.
如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目.
初始记录行的偏移量是 0(而不是 1):
为了与 Postgresql 兼容,MysqL 也支持句法: LIMIT # OFFSET #.
 

MysqL> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
MysqL> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
//如果只给定一个参数,它表现返回最大的记录行数目:
MysqL> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行
//换句话说,LIMIT n 等价于 LIMIT 0,n.
 

MysqL入门注意,limit 10和limit 9,1的不同:
例如:
1.
 

Select * From cyclopedia Where ID>=(
Select Max(ID) From (
Select ID From cyclopedia Order By ID limit 90001
) As tmp
) limit 100;

MysqL入门2.
 

Select * From cyclopedia Where ID>=(
Select Max(ID) From (
Select ID From cyclopedia Order By ID limit 90000,1
) As tmp
) limit 100;
 

MysqL入门同样是取90000条后100条记录,第1句快还是第2句快?
第1句是先取了前90001条记录,取其中最大一个ID值作为起始标识,然后利用它可以快速定位下100条记录
第2句择是仅仅取90000条记录后1条,然后取ID值作起始标识定位下100条记录
第1句执行结果.100 rows in set (0.23) sec
第2句执行结果.100 rows in set (0.19) sec

MysqL入门其实第2句完全可以简化成:
 

Select * From cyclopedia Where ID>=(
Select ID From cyclopedia limit 90000,1
)limit 100;
 

MysqL入门直接利用第90000条记录的ID,不用经过Max运算,这样做理论上效率因该高一些,但在实际使用中几乎看不到效果,因为自己定位ID返回的就是1条记录,Max几乎不用运作就能得到结果,但这样写更清淅明朗.

MysqL入门例子:
 

Select Top 100 * From cyclopedia Where ID>=(
Select Top 90001 Max(ID) From (
Select ID From cyclopedia Order By ID
) As tmp
)
 

MysqL入门但不管是实现方式是存贮过程还是直接代码中,瓶颈始终在于MS-sql的TOP总是要返回前N个记录,这种情况在数据量不大时感受不深,但如果成百上千万,效率肯定会低下的.
相比之下MysqL的limit就有优势的多,执行:
 

Select ID From cyclopedia limit 90000
Select ID From cyclopedia limit 90000,1

MysqL入门输出结果分别为:
 

90000 rows in set (0.36) sec
1 row in set (0.06) sec
 

MysqL入门而MS-sql只能用Select Top 90000 ID From cyclopedia 执行时间是390ms,执行同样的操作时间也不及MysqL的360ms.
limit的offset(偏移量)用于记录较多的时候,记录较少时,偏移offset较小,直接使用limit较优.offset越大,后者越优.

MysqL入门1、offset比拟小时
 

select * from yanxue8_visit limit 10,10

MysqL入门多次运行,时间坚持在0.0004-0.0005之间:
 

Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10,1
) limit 10

MysqL入门多次运行,时间坚持在0.0005-0.0006之间,主要是0.0006
结论:偏移offset较小的时候,直接使用limit较优.这个显示是子查询的原因.

MysqL入门2、offset大时:
 

select * from yanxue8_visit limit 10000,时间坚持在0.0187左右:
 

Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10000,时间坚持在0.0061左右,只有前者的1/3.可以预先offset越大,后者越优.

MysqL入门例句:
 

MysqL> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
//如果只给定一个参数,它表现返回最大的记录行数目

小编PHP培训学院每天发布《MysqL必读MysqL中limit的用法实例详解》等实战技能,PHP、MysqL、LINUX、APP、JS,CSS全面培养人才。

总结

以上是小编为你收集整理的Mysql必读Mysql中limit的用法实例详解全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

lunalimited Mysql中limit的用法方法详解与注意事项

lunalimited Mysql中limit的用法方法详解与注意事项

 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,
mysql已经为我们提供了这样一个功能。
SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset
LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须
是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回
记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句
法: LIMIT # OFFSET #。 
mysql> SELECT * FROM table LIMIT 5,10;  // 检索记录行 6-15
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: 
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
//如果只给定一个参数,它表示返回最大的记录行数目: 
mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行
//换句话说,LIMIT n 等价于 LIMIT 0,n。

以上就介绍了lunalimited Mysql中limit的用法方法详解与注意事项,包括了lunalimited方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

mysql中limit的使用_MySQL

mysql中limit的使用_MySQL

bitsCN.com
mysql中limit的使用 mysql中没有top,替而代之的是limit关键字,具体使用方法如下: mysql> select * from test;   +----+------+-----+----------+--------------+ | id | name | age | tel      | address      | +----+------+-----+----------+--------------+ |  1 | aaaa |  12 | aaaaaa   | aaaaaaaaa    | |  2 | bbbb |  12 | 12312312 | asgdsf       | |  3 | bbb  |  23 | 123423   | asdfsafd     | |  5 | asdf |  23 | asfdsd   | asdgesadg    | |  7 | sadf |  23 | asgsdg   | asgsdfsafsdf | +----+------+-----+----------+--------------+ 5 rows in set (0.00 sec) mysql> select * from test limit 2,5     -> ;+----+------+-----+--------+--------------+ | id | name | age | tel    | address      | +----+------+-----+--------+--------------+ |  3 | bbb  |  23 | 123423 | asdfsafd     | |  5 | asdf |  23 | asfdsd | asdgesadg    | |  7 | sadf |  23 | asgsdg | asgsdfsafsdf | +----+------+-----+--------+--------------+ 3 rows in set (0.00 sec)   mysql> select * from test limit 2,4; +----+------+-----+--------+--------------+ | id | name | age | tel    | address      | +----+------+-----+--------+--------------+ |  3 | bbb  |  23 | 123423 | asdfsafd     | |  5 | asdf |  23 | asfdsd | asdgesadg    | |  7 | sadf |  23 | asgsdg | asgsdfsafsdf | +----+------+-----+--------+--------------+ 3 rows in set (0.00 sec) mysql> select * from test order by name limit 2,4; +----+------+-----+----------+--------------+ | id | name | age | tel      | address      | +----+------+-----+----------+--------------+ |  3 | bbb  |  23 | 123423   | asdfsafd     | |  2 | bbbb |  12 | 12312312 | asgdsf       | |  7 | sadf |  23 | asgsdg   | asgsdfsafsdf | +----+------+-----+----------+--------------+   3 rows in set (0.00 sec) bitsCN.com

mysql中limit的用法

mysql中limit的用法

mysql 中的 limit 子句用于限制查询返回的结果集中的记录数,可通过指定从查询开始或结束返回的记录数来实现。它还可与 offset 子句结合使用,以从指定偏移量处开始返回结果。

mysql中limit的用法

MySQL 中 LIMIT 用法

简介

LIMIT 子句在 MySQL 中用于限制查询返回的结果集中的记录数。它可以通过指定从查询开始或结束返回的记录数来实现。

用法

SELECT * FROM table_name
LIMIT row_count;
登录后复制

其中:

  • row_count 是要返回的记录数。

偏移

OFFSET 子句可与 LIMIT 子句结合使用,以指定从指定偏移量处开始返回结果。

SELECT * FROM table_name
LIMIT row_count OFFSET offset;
登录后复制

其中:

  • offset 是要跳过的记录数。

示例

  • 返回前 5 条记录:

    SELECT * FROM table_name
    LIMIT 5;
    登录后复制
  • 跳过前 10 条记录,然后返回 5 条记录:

    SELECT * FROM table_name
    LIMIT 5 OFFSET 10;
    登录后复制

注意事项

  • LIMIT 子句不能与 GROUP BY、DISTINCT 或 HAVING 子句一起使用。
  • OFFSET 偏移量必须为非负整数。
  • 如果 LIMIT 或 OFFSET 值为负,则 MySQL 会返回错误。

以上就是mysql中limit的用法的详细内容,更多请关注php中文网其它相关文章!

MYSQL中limit的用法_MySQL

MYSQL中limit的用法_MySQL

Mysql中limit的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能。SELECT * FROM table   LIMIT [offset,] rows | rows OFFSET offsetLIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: 
mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.//如果只给定一个参数,它表示返回最大的记录行数目: 
mysql> SELECT * FROM table LIMIT 5;     //检索前 5 个记录行//换句话说,LIMIT n 等价于 LIMIT 0,n。注意limit 10和limit 9,1的不同:例如:1.
Select * From cyclopedia Where ID>=(
Select Max(ID) From (
Select ID From cyclopedia Order By ID limit 90001
) As tmp
) limit 100;2.
Select * From cyclopedia Where ID>=(
Select Max(ID) From (
Select ID From cyclopedia Order By ID limit 90000,1
) As tmp
) limit 100;同样是取90000条后100条记录,第1句快还是第2句快?
第1句是先取了前90001条记录,取其中最大一个ID值作为起始标识,然后利用它可以快速定位下100条记录
第2句择是仅仅取90000条记录后1条,然后取ID值作起始标识定位下100条记录

第1句执行结果.100 rows in set (0.23) sec
第2句执行结果.100 rows in set (0.19) sec其实第2句完全可以简化成:Select * From cyclopedia Where ID>=(
Select ID From cyclopedia limit 90000,1
)limit 100;直接利用第90000条记录的ID,不用经过Max运算,这样做理论上效率因该高一些,但在实际使用中几乎看不到效果,因为本身定位ID返回的就是1条记录,Max几乎不用运作就能得到结果,但这样写更清淅明朗,省去了画蛇那一足.Select Top 100 * From cyclopedia Where ID>=(
Select Top 90001 Max(ID) From (
Select ID From cyclopedia Order By ID
) As tmp
)但不管是实现方式是存贮过程还是直接代码中,瓶颈始终在于MS-SQL的TOP总是要返回前N个记录,这种情况在数据量不大时感受不深,但如果成百上千万,效率肯定会低下的.相比之下MySQL的limit就有优势的多,执行:
Select ID From cyclopedia limit 90000
Select ID From cyclopedia limit 90000,1
的结果分别是:
90000 rows in set (0.36) sec
1 row in set (0.06) sec
而MS-SQL只能用Select Top 90000 ID From cyclopedia 执行时间是390ms,执行同样的操作时间也不及MySQL的360ms.limit的offset(偏移量)用于记录较多的时候,记录较少时,偏移offset较小,直接使用limit较优。offset越大,后者越优。////////////////////////////////////////////////////////////////////////1、offset比较小的时候。

select * from yanxue8_visit limit 10,10
多次运行,时间保持在0.0004-0.0005之间
Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10,1
) limit 10
多次运行,时间保持在0.0005-0.0006之间,主要是0.0006
结论:偏移offset较小的时候,直接使用limit较优。这个显示是子查询的原因。


2、offset大的时候。
select * from yanxue8_visit limit 10000,10
多次运行,时间保持在0.0187左右
Select * From yanxue8_visit Where vid >=(
Select vid From yanxue8_visit Order By vid limit 10000,1
) limit 10
多次运行,时间保持在0.0061左右,只有前者的1/3。可以预先offset越大,后者越优。//////////////////////////////////////////////////////////////////////////////////////////////mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last. 
//如果只给定一个参数,它表示返回最大的记录行数目


转载自:http://blog.csdn.net/zhqingyun163/article/details/5053579

关于Mysql必读Mysql中limit的用法实例详解的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于lunalimited Mysql中limit的用法方法详解与注意事项、mysql中limit的使用_MySQL、mysql中limit的用法、MYSQL中limit的用法_MySQL等相关内容,可以在本站寻找。

本文标签: