版權(quán)聲明:本文為博主原創(chuàng)文章板驳,轉(zhuǎn)載請(qǐng)加上原文鏈接又跛,謝謝!
摘要:MySQL數(shù)據(jù)庫(kù)實(shí)現(xiàn)分頁(yè)查詢的SQL語(yǔ)句寫(xiě)法若治!
一:分頁(yè)需求:
客戶端通過(guò)傳遞start(頁(yè)碼)慨蓝,limit(每頁(yè)顯示的條數(shù))兩個(gè)參數(shù)去分頁(yè)查詢數(shù)據(jù)庫(kù)表中的數(shù)據(jù),那我們知道mysql數(shù)據(jù)庫(kù)提供了分頁(yè)的函數(shù)limit m,n直砂,但是該函數(shù)的用法和我們的需求不一樣菌仁,所以就需要我們根據(jù)實(shí)際情況去改寫(xiě)適合我們自己的分頁(yè)語(yǔ)句浩习,具體的分析如下:
比如:
查詢第1條到第10條的數(shù)據(jù)的sql是:select * from table limit 0,10;?? ->對(duì)應(yīng)我們的需求就是查詢第一頁(yè)的數(shù)據(jù):select * from table limit (1-1)*10,10;
查詢第10條到第20條的數(shù)據(jù)的sql是:select * from table limit 10,20;? ->對(duì)應(yīng)我們的需求就是查詢第二頁(yè)的數(shù)據(jù):select * from table limit (2-1)*10,10;
查詢第20條到第30條的數(shù)據(jù)的sql是:select * from table limit 20,30;? ->對(duì)應(yīng)我們的需求就是查詢第三頁(yè)的數(shù)據(jù):select * from table limit (3-1)*10,10;
二:通過(guò)上面的分析静暂,可以得出符合我們自己需求的分頁(yè)sql格式是:select * from table limit (start-1)*limit,limit; 其中start是頁(yè)碼,limit是每頁(yè)顯示的條數(shù)谱秽。