域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。现在,我们已启用新域名 AXUM.EU.ORG
  • 方案AXUM.RS 域名 = 3000
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名,或者该域名到期,本站将使用免费域名 AXUM.EU.ORG 继续提供服务。

LIMIT、OFFSET 和 FETCH 子句

本章我们学习 LIMITOFFSETFETCH 子句。和 LIMIT 一样,FETCH 也是为了限定返回的行数,但你不知道的是,FETCH 才是 SQL 标准,而 LIMIT 不是。

我们先来看一下大部分数据库都支持的、日常开发最熟悉的 LIMIT,虽然 FETCH 才是 SQL 标准,但是 LIMIT 无疑是在日常中用的最多的。

LIMITOFFSET 子句

  • LIMIT n OFFSET m 典型应用就是翻页
  • MySQL 8 开始支持 LIMIT n OFFSET m 语法
  • LIMIT n OFFSET m 典型应用就是翻页
  • MySQL 8 开始支持 LIMIT n OFFSET m 语法

FETCH 子句

-- 返回按标题升序排序的第一部电影
SELECT film_id, title FROM film ORDER BY title FETCH FRIST ROW ONLY;

-- 等同于上例 
SELECT film_id, title FROM film ORDER BY title FETCH FRIST 1 ROW ONLY;

-- 返回按标题升序排序的前5部电影
SELECT film_id, title FROM film ORDER BY title FETCH FRIST 5 ROW ONLY;

-- 返回跳过5部电影之后,按标题升序排序的前5部电影
SELECT film_id, title FROM film ORDER BY title OFFSET 5 ROWS FETCH FRIST 5 ROW ONLY;
要查看完整内容,请先登录