MySQL Select Limit

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

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

limit後面能夠跟12個×××參數,必須是非負整數常量。ui

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

在預編譯語句中,limit參數可以使用?佔位符。ip

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

parameters or local variables.it

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):io

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 largetable

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; SET@numrows=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;

相關文章
相關標籤/搜索