Mysql分頁之limit用法與limit優化

2021-09-06 12:17:37 字數 1736 閱讀 9550

與oracle和ms sqlserver相比,mysql的分頁方法簡單的讓人想哭。

--

語法:select

*from

table limit [

offset,

] rows |

rows offset offset

--舉例:

select

*from

table limit 5; --

返回前5行

select

*from

table limit 0,5; --

同上,返回前5行

select

*from

table limit 5,10; --

返回6-15行

當乙個查詢語句偏移量offset很大的時候,如select * from table limit 10000,10 , 最好不要直接使用limit,而是先獲取到offset的id後,再直接使用limit size來獲取資料。效果會好很多。

如:

select

*from customers where customer_id >=

(select customer_id from customers order

by customer_id limit 10000,1

) limit

10;

語法:

select

topnumber

|percent column_name(s) from table_name;

舉例:1. 選取表中前2條記錄

select

top2 * from

table;

2. 選取表中50%的記錄

select

top50 persent

from

table;

3. 從資料庫中檢索第10—20條記錄

select

top10

*from

testtable

where (id notin(

select

top20

idfrom

testtable

order

byid))

order

by id;

語法:

select column_name(s) from table_name where rownum <=

number

舉例:1. 選取前5條記錄

select * from persons whererownum<= 5

分頁:

--

從資料庫表中第m條記錄開始檢索n條記錄

select

*from (select rownum r,t1.*

from 表名稱 t1 where rownum < m +

n) t2

where t2.r >=m--

如:從表sys_option(主鍵為sys_id)中從第10條記錄開始檢索20條記錄,語句如下

select

*from (select rownum r,t1.*

from sys_option where rownum <

30) t2

where t2.r >=

10

Mysql分頁之limit用法與limit優化

與oracle和ms sqlserver相比,mysql的分頁方法簡單的讓人想哭。語法 select from table limit offset,rows rows offset offset 舉例 select from table limit5 返回前5行 select from table...

Mysql 分頁語句limit的用法

一 在我們使用查詢語句的時候,有時會需要返回查詢結果的前幾條或中間幾天資料,此時我們就可以使用mysql的limit分頁語句 語句原型如下 select from table limit offset,rows rows offset offset limit接受乙個或兩引數,並且都必須是整型常量 ...

Mysql之limit用法總結

limit 子句可以被用於強制 select 語句返回指定的記錄數。limit 接受乙個或兩個數字引數,引數必須是乙個整數常量。如果給定兩個引數,第乙個引數指定第乙個返回記錄行的偏移量,第二個引數指定返回記錄行的最大數目。初始記錄行的偏移量是 0 而不是 1 為了與 postgresql 相容,my...