limit屬于mysql的方言,用來(lái)限定查詢結(jié)果的起始行,以及總行數(shù)。例如:select * from emp limit 3,4,表示從emp表中第4條記錄開(kāi)始,查詢4條記錄。如圖1-1所示:
圖1-1 使用limit查詢
limit子句后面的兩個(gè)數(shù)字有如下意義:
- 第一個(gè)數(shù)字:表示查詢結(jié)果的起始行,從0開(kāi)始,0表示從第一行開(kāi)始?。?/li>
- 第二個(gè)數(shù)字:表示一共查詢幾條記錄。
limit子句常用來(lái)做分頁(yè)查詢,分頁(yè)查詢就是根據(jù)需要每次只返回需要的數(shù)據(jù),而不用每次都從數(shù)據(jù)庫(kù)中全部把數(shù)據(jù)提取出來(lái),這樣可以降低程序與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)傳送量,并且可以提高程序的性能。例如有這樣一個(gè)需求,要求一頁(yè)只能顯示5條數(shù)據(jù),現(xiàn)在查詢第三頁(yè)的數(shù)據(jù),對(duì)應(yīng)的SQL語(yǔ)句如下所示:
- select * from emp limit 10,5
分析:一頁(yè)顯示5條數(shù)據(jù),那么第三頁(yè)的第一條數(shù)據(jù)是第11條數(shù)據(jù),又因?yàn)閘imit的第一個(gè)數(shù)字從0開(kāi)始,所以是10,顯示5條數(shù)據(jù)所以limit的第二個(gè)數(shù)字是5。如圖1-3所示:
圖1-3 分頁(yè)查詢
圖1-3中,只查詢了4條數(shù)據(jù),而我們的語(yǔ)句是查詢5條數(shù)據(jù),出現(xiàn)這樣的原因是因?yàn)閑mp表中有14條數(shù)據(jù),所以在第三頁(yè)中只有四條數(shù)據(jù)。
我們?cè)谶M(jìn)行分頁(yè)查詢時(shí),limit的第一個(gè)數(shù)字可以通過(guò)以下公式獲得:
- (當(dāng)前頁(yè)-1)*每頁(yè)記錄數(shù),例如查詢第三頁(yè)數(shù)據(jù),該公式就是:(3-1)*5=10。
本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://metathetuscanyresort.com/javaee