MySQL Select Limit

The LIMIT clause can be used to constrain the number of rowsreturned by the SELECT statement.

LIMIT takes one or two numeric arguments,which must both be nonnegative integer constants, with these exceptions:

limit后面可以跟1或2个整形参数,必须是非负整数常量。

Within prepared statements, LIMIT parameters can be specified using? placeholder markers.

在预编译语句中,limit参数可使用?占位符。

Within stored programs, LIMIT parameters can be specified usinginteger-valued routine

parameters or local variables.

With two arguments, the first argumentspecifies the offset of the first row to return, and the second specifies themaximum number of rows to return. The offset of theinitial row is 0 (not 1):

SELECT * FROM tbl LIMIT5,10; # Retrieve rows 6-15

To retrieve all rows from a certain offsetup to the end of the result set, you can use some large

number for the second parameter. This statement retrieves all rows from the 96th row to thelast:

SELECT * FROM tbl LIMIT95,18446744073709551615;

With one argument, the value specifies thenumber of rows to return from the beginning of the result set:

SELECT * FROM tbl LIMIT5; # Retrieve first 5 rows,返回前5行

In other words, LIMIT row_count isequivalent to LIMIT 0, row_count.

For prepared statements, you can useplaceholders. The following statements will return one row

from the tbl table:

SET @a=1;

PREPARE STMT FROM ‘SELECT* FROM tbl LIMIT ?‘;

EXECUTE STMT USING @a;

The following statements will return thesecond to sixth row from the tbl table:

SET @skip=1; [email protected]=5;

PREPARE STMT FROM ‘SELECT* FROM tbl LIMIT ?, ?‘;

EXECUTE STMT USING @skip,@numrows;

For compatibility with PostgreSQL, MySQLalso supports the LIMIT row_count OFFSET offset

syntax.

If LIMIT occurs within a subquery and alsois applied in the outer query, the outermost LIMIT takes

precedence. For example, the followingstatement produces two rows, not one:

(SELECT ... LIMIT 1) LIMIT 2;

时间: 2024-10-13 22:36:39

MySQL Select Limit的相关文章

mysql SELECT查询

一.单表查询 1.一般查询.2.聚合函数.排序 3.别名.4.分组.5.分组过滤.6.限制显示条目.7.杂项. 二.多表查询 1.联结查询.2.子查询.3.联合查询. 数据库版本:5.5.46-MariaDB 说明一下这几张表,这是在上马哥课程的时候给的生成表的sql备份文件. 在文章最后我把它放到附件中. 注意:在linux上表名是区分大小写的. 如果搞不清语句顺序请看:help select 一.单表查询 1.一般查询 MariaDB [hellodb]> SELECT * FROM stu

mysql中limit的用法详解[数据分页常用]

在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢?不用担心,mysql已经为我们提供了这样一个功能. SELECT * FROM table  LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目.初始记录行的偏移量是

mysql SELECT FOUND_ROWS()与COUNT(*)用法区别

在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别 SELECT语句中经常可能用LIMIT限制返回行数.有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句.那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:  代码如下 复制代码 mysql> SELECT SQL_CA

MySQL 在 LIMIT 条件后注入

from:https://rateip.com/blog/sql-injections-in-mysql-limit-clause/ 此方法适用于MySQL 5.x中,在limit语句后面的注入例如: SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT] [SQL_CACHE | SQL_NO_CA

ibatis配置mysql的limit

<select id="xxx" > select * from xxx <dynamic prepend = "limit " > <isNotEqual property="num" compareValue="0" > 0,#num# </isNotEqual> </dynamic> </select> 或者 <select id="

php学习之道:mysql SELECT FOUND_ROWS()与COUNT(*)用法区别

在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别 SELECT语句中经常可能用LIMIT限制返回行数.有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句.那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:  代码如下 复制代码 mysql> SELECT SQL_CA

MySql之limit使用

近期就看到一篇博文,介绍limit性能的,感觉非常有用. limit 语法 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.LIMIT 接受一个或两个数字参数.参数必须是一个整数常量.如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目.初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,

mysql用limit时offset越大时间越长

首先说明一下MySQL的版本: mysql> select version();+-----------+| version() |+-----------+| 5.7.17    |+-----------+1 row in set (0.00 sec) 表结构: mysql> desc test;+--------+---------------------+------+-----+---------+----------------+| Field  | Type           

MySql查询优化limit 1避免全表扫描(转)

在某些情况下,如果明知道查询结果只有一个,SQL语句中使用LIMIT 1会提高查询效率. 例如下面的用户表(主键id,邮箱,密码): create table t_user(id int primary key auto_increment,email varchar(255),password varchar(255)); 每个用户的email是唯一的,如果用户使用email作为用户名登陆的话,就需要查询出email对应的一条记录. SELECT * FROM t_user WHERE ema