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