最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql中l(wèi)imit用法詳解及注意事項總結

 更新時間:2026年01月23日 09:19:14   作者:一位代碼  
mysql數(shù)據(jù)庫中l(wèi)imit子句可以被用于強制select語句返回指定的記錄數(shù),這篇文章主要介紹了mysql中l(wèi)imit用法詳解及注意事項的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

mysql 中的 limit 用來限制 select 查詢返回的行數(shù),程序中常被用作分頁查詢。

一、limit 用法及示例

(一)基礎用法及示例

語法:select * from 表名 limit [offset,] count

參數(shù)說明:

offset:偏移量,即指跳過多少行,可省略,默認為 0,表示跳過 0 行;范圍為 [0,+∞)。

count:跳過 offset 行后,取 count 行數(shù)據(jù),范圍為 [0,+∞)。

特別注意:limit 中的 offset 和 count 必須大于等于 0;且不能為表達式,只能為明確的數(shù)字。

實例1:獲取前3行記錄

命令:select * from per_data limit 0,3;

實例2:獲取第1行緊接著的2行記錄

命令:select * from per_data limit 1,2;

(二)獲取值最大的一條記錄

實例:獲取 id_num 值最大的一條記錄。

思路:先按照 id_num 降序排序,然后取第一條記錄。

命令:select * from per_data order by id_num desc limit 1;

(三)獲取第 n 行到第 m 行數(shù)據(jù)

語法:select * from 表名 limit n-1,m-n+1;  # offset 與 count 都是從0開始且為左閉右開。

實例:獲取 per_data 表的第 3 到第 5 行的數(shù)據(jù)

命令:select * from per_data limit 2,3;

(四)實現(xiàn)分頁查詢

page:表示第幾頁,從1開始,范圍 [1,+∞)

pageSize:每頁顯示多少條記錄,范圍 [1,+∞)

語法:select * from 表名 limit (page-1)*pageSize,pageSize;

原理與獲取第 n 行到第 m 行數(shù)據(jù)相同

需要注意的是,在分頁排序時,最好根據(jù)主鍵來排除二義性,在二義性情況下會導致分頁結果混亂。

注:這里的二義性可理解為,按價格給商品排序,當遇到價格相同時,該怎么排序?價格相同又沒指定其他條件,mysql 就亂排了。

二、limit X, -1 已不可使用

limit X, -1 早已不可使用,本身也是一個錯誤

(一)錯誤情況

需求:使用 mysql 時,需要獲取第 X 條數(shù)據(jù)之后的所有數(shù)據(jù)。

這時,首先想到的就是利用 limit 來實現(xiàn)。

早期的部分文章或者資料中,提到可以使用:limit X,-1

例如,獲取第一條后的所有數(shù)據(jù),則可寫成如下 sql 語句:

select * from per_data limit 1,-1;

執(zhí)行該 sql 語句后,會發(fā)現(xiàn)報錯如下:

錯誤提示原文:ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 1

(二)錯誤原因及解決辦法

錯誤原因:據(jù)官方解釋,limit X, -1 這種形式被認為是一個優(yōu)先級較低的 bug ,已經(jīng)被修復,修復后的 limit ,將不再接收負數(shù),兩個參數(shù)都必須大于或等于 0 。

上圖原文鏈接:https://bugs.mysql.com/bug.php?id=2037

(三)解決辦法

任意填寫一個滿足需求的足夠大的正數(shù)即可。

比如,示例表 per_data 中一共有 6 條數(shù)據(jù),要求是獲取第一條后的所有數(shù)據(jù)。

語法:【limit 1,count】 ,其中 count 可以是 [5,+∞)中的任意一個數(shù)。

完整語句如下:

select * from per_data limit 1,5;#這里的5可替換成任意一個大于5的數(shù)字

以上就是 mysql 中 limit 的用法及相關注意事項,可供參考。

總結

到此這篇關于mysql中l(wèi)imit用法詳解及注意事項的文章就介紹到這了,更多相關mysql limit用法詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

浏阳市| 凤城市| 双牌县| 宁南县| 云梦县| 铜山县| 临潭县| 英山县| 汨罗市| 澜沧| 昌邑市| 阳城县| 寿宁县| 安龙县| 临夏市| 全椒县| 马龙县| 阿克陶县| 三穗县| 平利县| 庆城县| 九台市| 太谷县| 西畴县| 乐山市| 高台县| 中西区| 肃宁县| 财经| 中宁县| 五家渠市| 苏尼特右旗| 大新县| 江源县| 绥阳县| 遂宁市| 肃南| 兴仁县| 哈巴河县| 马山县| 昌黎县|