MySQL LIMIT:限制查询结果的记录条数
在使用 MySQL SELECT 語句時往往返回的是所有匹配的行,有些時候我們僅需要返回第一行或者前幾行,這時候就需要用到 MySQL LIMT 子句。
?
基本的語法格式如下:
<LIMIT> [<位置偏移量>,] <行數(shù)>
LIMIT 接受一個或兩個數(shù)字參數(shù)。參數(shù)必須是一個整數(shù)常量。如果給定兩個參數(shù),第一個參數(shù)指定第一個返回記錄行的偏移量,第二個參數(shù)指定返回記錄行的最大數(shù)目。
第一個參數(shù)“位置偏移量”指示 MySQL 從哪一行開始顯示,是一個可選參數(shù),如果不指定“位置偏移量”,將會從表中的第一條記錄開始(第一條記錄的位置偏移量是 0,第二條記錄的位置偏移量是 1,以此類推);第二個參數(shù)“行數(shù)”指示返回的記錄條數(shù)。
【實例 1】顯示 tb_students_info 表查詢結(jié)果的前 4 行,輸入的 SQL 語句和執(zhí)行結(jié)果如下所示。
mysql> SELECT * FROM tb_students_info LIMIT 4; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 1 | Dany | 1 | 25 | F | 160 | 2015-09-10 | | 2 | Green | 3 | 23 | F | 158 | 2016-10-22 | | 3 | Henry | 2 | 23 | M | 185 | 2015-05-31 | | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | +----+-------+---------+------+------+--------+------------+ 4 rows in set (0.00 sec)由結(jié)果可以看到,該語句沒有指定返回記錄的“位置偏移量”參數(shù),顯示結(jié)果從第一行開始,“行數(shù)”參數(shù)為 4,因此返回的結(jié)果為表中的前 4 行記錄。
若指定返回記錄的開始位置,則返回結(jié)果為從“位置偏移量”參數(shù)開始的指定行數(shù),“行數(shù)”參數(shù)指定返回的記錄條數(shù)。
【實例 2】在 tb_students_info 表中,使用 LIMIT 子句返回從第 4 條記錄開始的行數(shù)為 5 的記錄,輸入的 SQL 語句和執(zhí)行結(jié)果如下所示。
mysql> SELECT * FROM tb_students_info LIMIT 3,5; +----+-------+---------+------+------+--------+------------+ | id | name | dept_id | age | sex | height | login_date | +----+-------+---------+------+------+--------+------------+ | 4 | Jane | 1 | 22 | F | 162 | 2016-12-20 | | 5 | Jim | 1 | 24 | M | 175 | 2016-01-15 | | 6 | John | 2 | 21 | M | 172 | 2015-11-11 | | 7 | Lily | 6 | 22 | F | 165 | 2016-02-26 | | 8 | Susan | 4 | 23 | F | 170 | 2015-10-01 | +----+-------+---------+------+------+--------+------------+ 5 rows in set (0.00 sec)由結(jié)果可以看到,已經(jīng)為大家精心準(zhǔn)備了大數(shù)據(jù)的系統(tǒng)學(xué)習(xí)資料,從Linux-Hadoop-spark-......,需要的小伙伴可以點擊該語句指示 MySQL 返回從第 4 條記錄行開始的之后的 5 條記錄,第一個數(shù)字“3”表示從第 4 行開始(位置偏移量從 0 開始,第 4 行的位置偏移量為 3),第二個數(shù)字 5 表示返回的行數(shù)。
所以,帶一個參數(shù)的 LIMIT 指定從查詢結(jié)果的首行開始,唯一的參數(shù)表示返回的行數(shù),即“LIMIT n”與“LIMIT 0,n”等價。帶兩個參數(shù)的 LIMIT 可返回從任何位置開始的指定行數(shù)的數(shù)據(jù)。
返回第一行時,位置偏移量是 0。因此,“LIMIT 1,1”返回第 2 行,而不是第 1 行。
注意:MySQL 5.7 中可以使用“LIMIT 4 OFFSET 3”,意思是獲取從第5條記錄開始的后面的3條記錄,和“LIMIT 4,3”返回的結(jié)果相同。
總結(jié)
以上是生活随笔為你收集整理的MySQL LIMIT:限制查询结果的记录条数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL AS:设置别名
- 下一篇: MySQL WHERE:条件查询