曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 2851|回复: 0
打印 上一主题 下一主题

limit 的用法

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2012-6-18 18:00:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
先看一个数据表里的一段数据(实际上,该表中并不止是有 'uid' 和 'username' 这两个字段,且记录也不止这 10 个):

现在希望按照 uid 的升序排列列出前 6 个用户名。这里,数据表里共有 10 个用户,而只希望列出 6 个,那么此时就需要 limit 来限制一下这个数据,因此可以执行如下命令:
[Plain Text] 纯文本查看 复制代码
SELECT `uid` , `username` FROM `pw_members` where `uid` < 11 ORDER BY `uid` desc LIMIT 6

执行结果如下图所示:

注意,上面的查询语句中,如果不添加 where `uid· < 11 进行限定,那么会对实际记录数中的末 6 条数据进行降序排序,如执行:
[Plain Text] 纯文本查看 复制代码
SELECT `uid` , `username` FROM `pw_members` ORDER BY `uid` desc LIMIT 6;

会得到:

这样的结果。

在上面的语句中,使用了 limit num 这样的表达式,它表示显示出检索结果中的前 num 行。

如果想要列出第 3 到第 5 行的结果(按照升序排序),那么可以如下执行语句:
[Plain Text] 纯文本查看 复制代码
SELECT `uid` , `username` FROM `pw_members` LIMIT 2,3;

查询结果如下:

注意,实际记录中,'uid' 为 3 的记录已经丢失。因此这里查询到的是第 4 到第 6 行记录。上面的语句中使用的 LIMIT 2,3 这样的限定表示:显示出从第 3 行记录开始的后 3 条记录。也就是说,这里的 2 是个用来定位的偏移值,而 3 是在此偏移值后要显示的行数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-19 03:32 , Processed in 0.101490 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表