MySQL 限制查询结果的记录数
使用 MySQL SELECT 語句時往往返回的是所有匹配的行,有些時候我們僅需要返回第一行或者前幾行,這時候就需要用到 MySQL LIMT 子句。
基本的語法格式如下:
<LIMIT> [<位置偏移量>,] <行數>LIMIT 接受一個或兩個數字參數。參數必須是一個整數常量。如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量,第二個參數指定返回記錄行的最大數目。
第一個參數“位置偏移量”指示 MySQL 從哪一行開始顯示,是一個可選參數,如果不指定“位置偏移量”,將會從表中的第一條記錄開始(第一條記錄的位置偏移量是 0,第二條記錄的位置偏移量是 1,以此類推);第二個參數“行數”指示返回的記錄條數。
顯示 tb_students_info 表查詢結果的前 4 行,輸入的 SQL 語句和執行結果如下所示。
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)由結果可以看到,該語句沒有指定返回記錄的“位置偏移量”參數,顯示結果從第一行開始,“行數”參數為 4,因此返回的結果為表中的前 4 行記錄。
若指定返回記錄的開始位置,則返回結果為從“位置偏移量”參數開始的指定行數,“行數”參數指定返回的記錄條數。
在 tb_students_info 表中,使用 LIMIT 子句返回從第 4 條記錄開始的行數為 5 的記錄,輸入的 SQL 語句和執行結果如下所示。
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)由結果可以看到,該語句指示 MySQL 返回從第 4 條記錄行開始的之后的 5 條記錄,第一個數字“3”表示從第 4 行開始(位置偏移量從 0 開始,第 4 行的位置偏移量為 3),第二個數字 5 表示返回的行數。
所以,帶一個參數的 LIMIT 指定從查詢結果的首行開始,唯一的參數表示返回的行數,即“LIMIT n”與“LIMIT 0,n”等價。帶兩個參數的 LIMIT 可返回從任何位置開始的指定行數的數據。
返回第一行時,位置偏移量是 0。因此,“LIMIT 1,1”返回第 2 行,而不是第 1 行。
注意:MySQL 5.7 中可以使用“LIMIT 4 OFFSET 3”,意思是獲取從第5條記錄開始的后面的3條記錄,和“LIMIT 4,3”返回的結果相同。
總結
以上是生活随笔為你收集整理的MySQL 限制查询结果的记录数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言归并排序(合并排序)
- 下一篇: Redis HyperLogLog常用命