SELECT LIMIT 子句
SQL SELECT LIMIT 语句
SELECT LIMIT
语句用于从数据库中的一个或多个表中检索记录,并根据一个限制值限制返回的记录数量。
语法结构:
SELECT expressions
FROM tables
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
LIMIT number_rows [ OFFSET offset_value ];
让我们看看如何在 SQL 中使用带有 LIMIT 子句的 SELECT 语句:
SELECT product_id, product_name, price
FROM products
ORDER BY product_id DESC
LIMIT 5.
示例将从 products 表中取出前 5 条记录的 product_id、product_name 和 price,结果根据 product_id 进行降序排序。
offset 关键字允许您偏移 LIMIT 子句返回的第一条记录。例如:
LIMIT 3 OFFSET 1
此 LIMIT 子句将在结果集中返回 3 条记录,偏移量为 1。这意味着 SELECT 语句将跳过通常返回的第一条记录,而是返回第二、第三和第四条记录。
让我们看看如何在 SQL 中使用带有 OFFSET 子句的 SELECT LIMIT 语句。
SELECT contact_id, last_name, first_name
FROM contacts
WHERE website = 'test.com'
ORDER BY contact_id DESC
LIMIT 5 OFFSET 2;
SELECT UP TO,OFFSE
可选条件:
... [UP TO n ROWS]
[OFFSET o] ...
在 SELECT
语句或 WITH
语句的查询中,这些可供选择的附加内容使用一个偏移量和最大读取行数来限制结果集。对于主查询和子查询,其语法变化如下:
- 主查询:如果
INTO
子句被指定为SELECT
语句的最后一个子句,那么添加的内容必须跟在INTO
子句的后面。否则,也可以在SELECT
子句之后或FROM
子句之后指定它们。这两个条件的顺序是固定的。只有在有ORDER BY
子句的情况下,才可以使用附加的OFFSET
。 - 条件
UP TO
只能在ORDER BY
子句之后指定,条件OFFSET
只能在UP TO
之后指定。
… UP TO n ROWS
条件的 UP TO
将 SELECT
语句的结果集中的行数限制为 n
。n
期望是一个以转义字符 @
为前缀的变量,n
必须具有 b、s、i 或 int8 类型。例如:
SELECT * FROM scustom
WHERE custtype = 'B'
ORDER BY discount DESCENDING
INTO TABLE @DATA(result)
UP TO 3 ROWS.
…OFFSET o
附加的 OFFSET
是用来从结果集中只返回计数为o的行之后的行。如果指定了 OFFSET
,那么必须使用 ORDER BY
对结果集进行排序。 o
期望一个以转义字符 @
为前缀的变量,且期望类型为 b、s、i 或 int8 的字面符号,可以代表 i 的取值范围内的所有非负数,例如:
SELECT fldate
FROM sflight
WHERE carrid = 'LH' AND connid = '400'
ORDER BY seatsocc ASCENDING, fldate
INTO TABLE @DATA(result)
OFFSET 10.
- 点赞
- 收藏
- 关注作者
评论(0)