国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySql根據當前頁pageNo、顯示條數pageSize,實現分頁查詢的SQL

2024-07-24 12:36:26
字體:
來源:轉載
供稿:網友

一:分頁需求:

客戶端通過傳遞start(頁碼),limit(每頁顯示的條數)兩個參數去分頁查詢數據庫表中的數據,那我們知道mysql數據庫提供了分頁的函數limit m,n,但是該函數的用法和我們的需求不一樣,所以就需要我們根據實際情況去改寫適合我們自己的分頁語句,具體的分析如下:

比如:

查詢第1條到第10條的數據的sql是:select * from table limit 0,10;?? ->對應我們的需求就是查詢第一頁的數據:select * from table limit (1-1)*10,10;

查詢第10條到第20條的數據的sql是:select * from table limit 10,20;? ->對應我們的需求就是查詢第二頁的數據:select * from table limit (2-1)*10,10;

查詢第20條到第30條的數據的sql是:select * from table limit 20,30;? ->對應我們的需求就是查詢第三頁的數據:select * from table limit (3-1)*10,10;

二:通過上面的分析,可以得出符合我們自己需求的分頁sql格式

mysql分頁:select * from 表 limit (pageNo-1)*pageSize,pageSize;?

oracle分頁:select a.* (select 表.*,rowum rn from 表) a where rn>(pageNo-1)*pageSize and rn <=pageNo*pageSize;

三、

在MyBatis中LIMIT之后的語句不允許的變量不允許進行算數運算,會報錯。
    LIMIT (#{pageNo}-1)*#{pageSize},#{pageSize};  // 錯誤
    LIMIT ${(pageNo-1)*pageSize},${pageSize}; (正確)

四、使用分頁工具類

mybatisplus分頁工具類 IPage

分頁查詢優化:https://www.jianshu.com/p/7d1b6db64a8f

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 海林市| 五常市| 临西县| 高密市| 化州市| 仁寿县| 弥勒县| 二连浩特市| 道孚县| 兴文县| 宁城县| 滨州市| 高淳县| 定安县| 黑水县| 重庆市| 县级市| 会昌县| 彩票| 磐安县| 孝义市| 广州市| 兴国县| 桂平市| 沁水县| 沛县| 芦溪县| 双柏县| 泽州县| 四平市| 永定县| 通山县| 会理县| 山丹县| 绥芬河市| 伊金霍洛旗| 孟连| 磐安县| 什邡市| 赤城县| 甘孜|