SQL Limit语句

要检索查询返回的行的一部分,请使用LIMITOFFSET子句。 以下说明了这些子句的语法:

SELECT 
    column_list
FROM
    table1
ORDER BY column_list
LIMIT row_count OFFSET offset;

在这个语法中,

  • row_count确定将返回的行数。
  • OFFSET子句在开始返回行之前跳过偏移行。 OFFSET子句是可选的。 如果同时使用LIMITOFFSET子句,OFFSET会在LIMIT约束行数之前先跳过偏移行。

下面这个例子来解释一下上述的语句:

在使用LIMIT子句时,使用ORDER BY子句确保返回的行按指定顺序非常重要。下面的例子是跳过三行,再返回4行结果。

注意:

并非所有数据库系统都支持LIMIT子句,因此,LIMIT子句仅在某些数据库系统中可用,例如MySQLPostgreSQLSQLite,Sybase SQL Anywhere和HSQLDB。

 SQL LIMIT子句示例

如下面的employees表来演示LIMIT子句用法。

以下语句返回employees表中按first_name列排序的所有行。

SELECT 
    employee_id, first_name, last_name
FROM
    employees
ORDER BY first_name;

执行上面查询语句,得到以下结果 -

+-------------+------------+-----------+
| employee_id | first_name | last_name |
+-------------+------------+-----------+
|         103 | Alexander  | Lee       |
|         115 | Alexander  | Su        |
|         114 | Avg        | Su        |
|         193 | Britney    | Zhao      |
|         104 | Bruce      | Wong      |
... ...
|         100 | Steven     | Lee       |
|         203 | Susan      | Zhou      |
|         106 | Valli      | Chen      |
|         206 | William    | Wu        |
+-------------+------------+-----------+
40 rows in set

如果要只返回前5行,请使用LIMIT子句,如以下语句。

SELECT 
    employee_id, first_name, last_name
FROM
    employees
ORDER BY first_name
LIMIT 5;

执行上面查询语句,得到以下结果 -

+-------------+------------+-----------+
| employee_id | first_name | last_name |
+-------------+------------+-----------+
|         115 | Alexander  | Su        |
|         103 | Alexander  | Lee       |
|         114 | Avg        | Su        |
|         193 | Britney    | Zhao      |
|         104 | Bruce      | Wong      |
+-------------+------------+-----------+
5 rows in set

要跳过两行并获取接下来的五行,请使用LIMITOFFSET子句,如以下语句所示。

SELECT 
    employee_id, first_name, last_name
FROM
    employees
ORDER BY first_name
LIMIT 5 OFFSET 3;

结果如下图所示 -

如果使用的是MySQL,则可以使用LIMIT OFFSET子句的较短形式。

SELECT 
    employee_id, first_name, last_name
FROM
    employees
ORDER BY first_name
LIMIT 3 , 5;

参考:https://www.yiibai.com/sql/sql-limit.html
 

发布了272 篇原创文章 · 获赞 19 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/hello_cmy/article/details/104746371