SQL中Limit的用法

假设有这么一张表名叫ids,只有id一列:

id
---
1
2
3
4
5
...
...
197
198
199
200

执行

SELECT * FROM ids LIMIT 10, 1

输出:

id
---
11

执行

SELECT * FROM ids LIMIT 10, 3

输出:

id
---
11
12
13

执行

SELECT * FROM ids LIMIT 45, 1

输出:

id
---
46

从以上示例可以看出,LIMIT后的第一个参数是输出记录的初始位置,第二个参数偏移量,偏移多少,输出的条目就是多少。

再看与LIMIT搭配的还有一个OFFSET命令:

执行

SELECT * FROM ids LIMIT 10 OFFSET 2

输出:

id
---
3
4
5
6
7
8
9
10
11
12

执行

SELECT * FROM ids LIMIT 5 OFFSET 2

输出:

id
---
3
4
5
6
7

执行

SELECT * FROM ids LIMIT 5 OFFSET 10

输出:

id
---
11
12
13
14
15

可以看出OFFSET与逗号隔开基本是一样的,唯一的差别就是两个参数的位置前后颠倒了一下。

于是可以考虑这个一个问题:假如某省高考成绩出来了,按照成绩排名,并取出地m名到第n名的学生信息,这时候LIMIT不就可以用上了嘛:

SELECT * FROM list ORDER BY score LIMIT m-1, n - m + 1
  • 53
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
SQL Server,没有像MySQLLIMIT关键字来进行分页查询。但是可以使用TOP关键字和子查询来实现类似的功能。以下是两个案例来演示如何在SQL Server进行分页查询: 案例一:查前几条 如果要查询用户名为1的前5条记录,可以使用以下SQL语句: SELECT TOP 5 * FROM browserecord WHERE username = '1'; 案例二:查第几条到第几条 如果要查询第4条到第7条的信息,可以使用以下SQL语句: SELECT * FROM (SELECT TOP 7 *, ROW_NUMBER() OVER (ORDER BY recordid) AS rownumber FROM browserecord) AS #a WHERE rownumber >= 4; 在这个案例,我们使用了ROW_NUMBER()函数来为每一行分配一个行号,并按照recordid进行排序。然后在外部查询,我们选择行号在4到7之间的记录。 总结起来,虽然SQL Server没有像MySQLLIMIT关键字,但是可以使用TOP关键字和子查询来实现类似的分页查询功能。 #### 引用[.reference_title] - *1* *2* [SQL Server实现Limit语句](https://blog.csdn.net/hello____world_0109/article/details/111188139)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Sql Server实现limit用法](https://blog.csdn.net/weixin_45525272/article/details/117914321)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值