1.limit使用
limit參數,第一個參數:從哪兒開始查;第二個參數:查幾條html
- i : 爲查詢結果的索引值(默認從0開始);
- n : 爲查詢結果返回的數量
mysql
LIMIT 0,3 linux
2.分頁思路
下面是幾種limit的方法:原則看看下面幾個例子應該就懂了sql
在數據庫中不少地方都會用到,好比當你數據庫查詢記錄有幾萬、幾十萬時使用limit查詢效率很是快,只須要查詢出你須要的數據就能夠了·不再用全表查詢致使查詢數據庫崩潰的狀況。數據庫
select * from Customer LIMIT 10;--檢索前10行數據,顯示1-10條數據
select * from Customer LIMIT 1,10;--檢索從第2行開始,累加10條id記錄,共顯示id爲2....11
select * from Customer limit 5,10;--檢索從第6行開始向前加10條數據,共顯示id爲6,7....15
select * from Customer limit 6,10;--檢索從第7行開始向前加10條記錄,顯示id爲7,8...16yii
示例:
1)查詢student的數據:post
select * from studentgoogle
查詢第一條數據spa
select * from student limit 13d
查詢第二條數據
select * from student limit 1,1
反例
追加:
select * from Customer limit 10,5;--檢索從第10行開始向前加5條數據,共顯示id爲11,12...15
官方
1. SQL LIMIT子句簡介
要檢索查詢返回的行的一部分,請使用LIMIT
和OFFSET
子句。 如下說明了這些子句的語法:
做者: Maxsu Java技術QQ羣:227270512 / Linux QQ羣:479429477
本教程咱們將演示如何使用SQL LIMIT
子句來限制SELECT
語句返回的行數。
要檢索查詢返回的行的一部分,請使用LIMIT
和OFFSET
子句。 如下說明了這些子句的語法:
在這個語法中,
row_count
肯定將返回的行數。
OFFSET
子句在開始返回行以前跳過偏移行。 OFFSET
子句是可選的。 若是同時使用LIMIT
和OFFSET
子句,OFFSET
會在LIMIT
約束行數以前先跳過偏移行。
在使用LIMIT
子句時,使用ORDER BY
子句確保返回的行按指定順序很是重要。
並不是全部數據庫系統都支持
LIMIT
子句,所以,
LIMIT
子句僅在某些數據庫系統中可用,例如
MySQL,
PostgreSQL,
SQLite,Sybase SQL Anywhere和HSQLDB//原文出自【易百教程】,商業轉載請聯繫做者得到受權,非商業轉載請保留原文連接:https://www.yiibai.com/sql/sql-limit.html
1. SQL LIMIT子句示例
咱們將使用
示例數據庫中的
employees
表來演示
LIMIT
子句用法。
如下語句返回employees
表中按first_name
列排序的全部行。
執行上面查詢語句,獲得如下結果 -
若是要只返回前5
行,請使用LIMIT
子句,如如下語句。
執行上面查詢語句,獲得如下結果 -
要跳過兩行並獲取接下來的五行,請使用LIMIT
和OFFSET
子句,如如下語句所示。
結果以下圖所示 -
若是使用的是MySQL,則可使用LIMIT OFFSET
子句的較短形式。
2. 使用SQL LIMIT獲取具備最高或最低值的前N行
可使用LIMIT
子句獲取具備最高或最低值的前N行。 例如,如下聲明得到薪資最高的前五名員工。
執行上面示例代碼,獲得如下結果 -
首先,ORDER BY子句按工資按降序對員工進行排序,而後LIMIT
子句限制從查詢返回的五行。
爲了得到薪資最低的前五名員工,能夠按升序對員工進行排序。
3. 獲取具備第N個最高值的行
假設必須獲得公司薪水第二高的員工。請使用
LIMIT OFFSET
子句,以下所示。
ORDER BY
子句按工資降序對員工進行排序。 LIMIT 1 OFFSET 1
子句從結果集中獲取第二行。
此查詢的假設是每一個員工都有不一樣的薪水。 若是有兩名員工擁有相同的最高薪水,那麼它將會失敗。 此外,若是有兩個或更多具備相同第二高薪的員工,則查詢只返回第一個。
要解決此問題,可使用如下語句首先得到第二高薪。
ORDER BY
子句按工資降序對員工進行排序。 LIMIT 1 OFFSET 1
子句從結果集中獲取第二行。
此查詢的假設是每一個員工都有不一樣的薪水。 若是有兩名員工擁有相同的最高薪水,那麼它將會失敗。 此外,若是有兩個或更多具備相同第二高薪的員工,則查詢只返回第一個。
要解決此問題,可使用如下語句首先得到第二高薪。
執行上面示例代碼,獲得如下結果 -
並將結果傳遞給另外一個查詢:
結果以下所示 -
若是使用子查詢,則能夠將兩個查詢組合到單個查詢中,以下所示:
結果以下所示 -
SQL LIMIT
和OFFSET
子句,這些子句用於限制查詢返回的行數。
延伸閱讀:https://www.runoob.com/sqlite/sqlite-limit-clause.html
https://www.yiibai.com/sql/sql-limit.html