用户登录

LIMIT 与 OFFSET

有时候你可能想要限制找到的结果的数量,在一些 Web 应用里面,会分页显示一些内容,比如每页显示 10 篇文章之类的。这种情况我们可以 LIMIT 去限制结果数量,用 OFFSET 去设置偏移量。

下面我们找出 people 这个表里出生地是在美国的电影人,并且只需要三个结果。SELECT 星号,FROM people ,WHERE 设置一下条件,people_location = '美国' ,再加上一个 LIMIT,限制一下找到的结果的数量 ... 后面是想要的数量的值,这里设置成 3 ...

SELECT * FROM people WHERE people_location = '美国' LIMIT 3;

会给我们找出三个出生在美国的电影人 ... 如果把 LIMIT 的值设置成 2 的话 .... 只会显示 2 条找到的结果 ...

用 OFFSET 可以设置一个偏移量,比如在 Web 应用里,分页显示内容的时候,第一页显示 10 个内容,也就是显示出查询结果里面的 1 - 10,这样在显示第二页内容的时候,显示的就应该是结果里面的第 11 - 20 个结果了,这个时候,就需要去设置一个偏移量。

下面,我们随便找出三个电影人,从第二个开始。LIMIT 设置成 3,OFFSET 设置成 1 ... 往后偏移一个结果,就是从第二个结果开始显示。你也可以理解成,这个结果的行号是从 0 开始的,也就是第一条结果的行号是 0 ,这样如果我们把 OFFSET 的值设置成 1 的话,就表示从第二个结果开始。

注意找到的电影人的 pid 是,2,3,4 ..

SELECT * FROM people LIMIT 3 OFFSET 1;

如果把 OFFSET 的值设置成 2 的话,显示出来的就应该是第 3,4,5 个结果。这里我们也可以换一种写法,就是为 LIMIT 提供两个参数,第一个参数是偏移量,第二个参数是限制结果的数量。

比如我们还是要找出电影人从第二个结果开始,显示三个。SELECT 星号 ... FROM people ... LIMIT ... 第二条结果的行号是 1,所以先输入一个 1,然后用一个逗号分隔一下 ... 再指定一下总共想要的结果数量 ... 这里就是 3 ...

SELECT * FROM people LIMIT 1, 3;

限制结果的数量与偏移 - LIMIT and OFFSET《 MySQL 基础 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点