sqlserver查分页,sql查询分页

sqlserver分页查询

select top 页大小 *

成都创新互联是一家专业提供广阳企业网站建设,专注与成都做网站、成都网站建设、H5网站设计、小程序制作等业务。10年已为广阳众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。

from table1

where id

(select max (id) from

(select top ((页码-1)*页大小) id from table1 order by id) as T

)

order by id

SQLSERVER如何实现分页查询?

写存储过程 ..

SET QUOTED_IDENTIFIER ON

GO

SET ANSI_NULLS ON

GO

ALTER PROCEDURE usp_Province_pagination

@PageSize INT, --每页的显示的行数

@AbsolutePage INT, -- 当前页的页数

@PageCount INT OUTPUT --总页数

AS

DECLARE @BeginRecord INT --记录每此从哪一行开始读取

DECLARE @RecordCount INT --表中数据的总条数

DECLARE @sql NVARCHAR(1000)

SET @RecordCount = (SELECT count(*) FROM Province)

--表中没有数据的情况

IF @RecordCount = 0

BEGIN

SET @PageCount = 0

RETURN(0)

END

-- 表中的总条数大于定义的每页的行数的情况

IF @RecordCount @PageSize

BEGIN

-- 计算总能分多少页

SET @PageCount = (@RecordCount + @PageSize - 1)/@PageSize

--当前应该从哪一行开始读取

SET @BeginRecord = ((@AbsolutePage-1) * @PageSize)

SET @sql = N'SELECT TOP ' + cast(@PageSize AS NVARCHAR(100)) +' ProvinceID, provinceCode, ProvinceName

FROM Province

WHERE ProvinceID NOT IN

(SELECT TOP '+ CAST(@BeginRecord AS NVARCHAR(100)) + ' ProvinceID

FROM Province)'

EXECUTE sp_executesql @sql

END

ELSE -- -- 表中的总条数大于定义的每页的行数情况

BEGIN

SET @PageCount = 1

SET @SQL = 'SELECT ProvinceID, provinceCode, ProvinceName FROM Province '

EXECUTE sp_executesql @sql

END

GO

SET QUOTED_IDENTIFIER OFF

GO

SET ANSI_NULLS ON

GO

sqlserver分页

sqlserver分页有四种方法,先给大家介绍一种常用的

查看1到3条数据

假如查询每页大小为3,查询第2页的数据就是


当前文章:sqlserver查分页,sql查询分页
文章起源:http://pwwzsj.com/article/hdjecd.html