SQL Server数据库用sql语句实现分页查询 (从M条数据开始,查找N条记录。sqlserver数据库。请举例说明。)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server数据库用sql语句实现分页查询 (从M条数据开始,查找N条记录。sqlserver数据库。请举例说明。)相关的知识,希望对你有一定的参考价值。

从M条数据开始,查找N条记录。sqlserver数据库。请举例说明。有多种方法更好

参考技术A 1:新建一个数据库
create database 数据库名
2:新建一个表
create table 表名
(
字段名 类型 是否为空
)
3:删除一个表
drop table 表名
4:增加一个记录
insert 表名 [(字段)] values ( 内容 )
5:删除一个记录
delete [from] 表名 where 条件
6、修改一个记录
update 表名 set 字段名=更新内容 where 条件
7、在原表中增加一个字段
alter table 表名 add column 字段名 类型
8:在原表中删除一个字段
alter table 表名 drop column 字段名
9、查询一个表记录
select * from 表名
10、带条件查询一个表记录
select * from 表名 where =条件
参考技术B 假设table1以id列排序。
select top N* from (select top (M+N) * from table1 order by id)t order by id desc
参考技术C create table t1
(
id int identity primary key,
name varchar(16)
)
declare i int
set i = 0
while(i<30)
begin
insert into ti values ('name'+i)
set i=i+1
end
-------------------------------
例如m=5,N=10
select top 10 * from ti where id not in (select top 5 id from ti)本回答被提问者和网友采纳

SQL Server 2012 实现分页新语法

最近一直在看SQL Server的书,不过看的都是基础的查询流,查询在工作中用到的最多,所以能正确地查询出想要的数据也是很重要的嘛。

在书上看到在SQL Server 2012新增了一种实现分页的查询方法,感觉比原来的方便一点,因此记录一下,如能帮助到大家,也是非常开心的~

 

以前分页的时候,我基本都是用ROW_NUMBER()函数,和在WHERE语句中用BETWEEN AND 来实现的;每次都得写子查询,感觉挺麻烦的,例:

SELECT *
FROM (
    SELECT 
        ID,
        ROW_NUMBER() OVER(ORDER BY [Datetime] DESC) AS num
    FROM dbo.tblUser
) AS t
WHERE t.num BETWEEN 11 AND 20

 

在SQL Server 2012中就不需要写子查询啦,直接在ORDER BY语句中就可以实现分页啦!例:

SELECT
    ID,
    ROW_NUMBER() OVER(ORDER BY [Datetime] DESC) AS num
FROM dbo.tblUser
ORDER BY num
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY

  需注意的是:该语法是在ORDER BY 子句中引入了两个新的参数 OFFSET 和  FETCH,因此它们必须在order by语句只有使用,且必须结合使用才能使分页正常运作。

  OFFSET指定在返回查询结果之前要跳过的行数,FETCH指定OFFSET之后返回的行数。

以上是关于SQL Server数据库用sql语句实现分页查询 (从M条数据开始,查找N条记录。sqlserver数据库。请举例说明。)的主要内容,如果未能解决你的问题,请参考以下文章

Oracle, SQL Server, My SQL如何实现数据分页查询语句

sqlserver2005模糊查询分页具体该怎么实现?

使用sql语句实现分页查询

sqlserver查询分页问题,条件比较复杂,怎样实现较好?求指点

如何用sql语句 实现分页查询

sqlserver分页去重失效