Sql Server实现limit用法

Posted 流楚丶格念

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sql Server实现limit用法相关的知识,希望对你有一定的参考价值。

案例前导数据

-- 浏览记录表:浏览id(自增属性),浏览用户名,浏览书籍名
drop table browserecord;
create table browserecord(
recordid int identity(1,1) not null primary key,
username varchar(255) not null,
bookname varchar(255) not null ,
)

insert into browserecord values('小红','C++程序设计');
insert into browserecord values('小蓝','C++程序设计');
insert into browserecord values('小红','C++程序设计');
insert into browserecord values('1','C++程序设计');
insert into browserecord values('1','网络安全');
。。。。。自己再加点吧

select * from browserecord;

案例一:查前几条

今天发现sqlserver 里面不支持limit进行分页查询,想进行分页,怎么办呢,例如表数据如下,要查用户名为 1 的前5条记录

在这里插入图片描述
sql这么写

select TOP 5 *from browserecord where username = '1';

在这里插入图片描述

案例二:查第几条到第几条

那么如果要查 第四条到第七条信息呢
在这里插入图片描述

则sql这么写

SELECT TOP 4 * FROM browserecord 
WHERE browserecord.recordid
NOT IN
(SELECT TOP 3 recordid FROM browserecord)

在这里插入图片描述

如果要查 n-m之间的数据 第4行的数字是n-1,第一行的数字是m-n+1,从而实现分页

以上是关于Sql Server实现limit用法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SQL Server 实现 LIMIT? [复制]

sql server实现Mysql中的limit分页功能

MySQL用limit代替SQL Server :top

Microsoft SQL Server 代码片段收集

缺少 SQL SERVER 2014 代码片段

SQL Select 语句的用法