SELECT LIMIT 子句

举报
雨绸缪 发表于 2023/05/26 17:58:33 2023/05/26
【摘要】 SQL SELECT LIMIT 语句SELECT LIMIT 语句用于从数据库中的一个或多个表中检索记录,并根据一个限制值限制返回的记录数量。语法结构:SELECT expressionsFROM tables[WHERE conditions][ORDER BY expression [ ASC | DESC ]]LIMIT number_rows [ OFFSET offset_va...

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 TOSELECT 语句的结果集中的行数限制为 nn 期望是一个以转义字符 @ 为前缀的变量,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.
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。