问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQLServer分页

发布网友 发布时间:2022-04-08 10:45

我来回答

4个回答

懂视网 时间:2022-04-08 15:06

<summary> /// 使用虚拟表进行分页查询,不适用明确知道列名的查询 /// </summary> /// <param name="sql">sql 如"select * from name where 1=1"</param> /// <param name="pageIndex">页码 如"1"</param> /// <param name="pageSize">条数 如"100"</param> /// <returns>DataTable</returns> public static DataTable SelectPaging(String sql, int pageIndex, int pageSize) { //定义虚拟表名称 string temporaryTable = "#" + randString(); //创建您虚拟表 string sqlPaging = "select identity(int) as ZZZZZ, * into " + temporaryTable + " from (select TOP 100 Percent * from ( " + sql + ") a) a "; //使用虚拟表进行分页查询 sqlPaging += "select * from " + temporaryTable + " a WHERE 1=1 " + "AND a.ZZZZZ >= " + pageIndex * pageSize + " AND a.ZZZZZ <= " + ((pageIndex + 1) * pageSize - 1) + " "; //删除虚拟表 sqlPaging += "DROP TABLE " + temporaryTable; //执行Sql语句 SelectCustomSql为执行sql的方法需自己定义 DataTable dt = SelectCustomSql(sqlPaging); //判断返回结果是否为空 if (dt != null) { //移除标识列 dt.Columns.Remove("ZZZZZ"); } //返回结果 return dt; }

其他分页方法百度上比较多。

SqlServer分页方法

标签:

热心网友 时间:2022-04-08 12:14

create procere proc_dividePage
@pageIndex int, --用户点页数
@pageSize int, --每页显示多少行数据
@pageCount int output --总共显示多少页
as
declare @firstIndex int
declare @lastIndex int
declare @total int
set @firstIndex=(@pageIndex-1)*@pageSize+1
set @lastIndex=@pageSize*@pageIndex
select @total=count(*) from 表名
if(@total%@pageSize<>0)
begin
set @pageCount=@total/@pageSize+1
end
else
begin
set @pageCount=@total/@pageSize
end
select * from
(select row_number() over(order by 主键) as newColumn,* from 表名) as newTable
where newColumn between @firstIndex and @lastIndex

最后说一句:我没有测试环境,如果有编写错误,请及时提醒我,谢谢。

热心网友 时间:2022-04-08 13:32

declare @PageNo int ,@pageSize int;
set @PageNo = 2
set @pageSize=20
select * from (
select row_number() over(order by object_id) rn,* from sys.objects)
tb where rn >(@PageNo-1)*@pageSize and rn <=@PageNo*@pageSize追问如果我在不知道表中字段的情况下,如何通过row_number来实现分页了???????????

追答row_number() 必须制定 order by ,不指定可以如下实现,但不能保证分页结果正确性,因为排序不一定可靠。可能第一次查询记录A在第一页,第二次查询又跑到了第二页。
declare @PageNo int ,@pageSize int;
set @PageNo = 2
set @pageSize=20
select * from (
select row_number() over(order by getdate()) rn,* from sys.objects)
tb where rn >(@PageNo-1)*@pageSize and rn '+convert(varchar(50),(@PageNo-1)*@pageSize) +' and rn <= '+convert(varchar(50),@PageNo*@pageSize)
print @SQL
exec(@SQL)

热心网友 时间:2022-04-08 15:07

SELECT top 50 * from (
select *,Row_Number() OVER (Order by getdate() ) AS RowNumber from
(
select distinct * from 表名
) as Work
)
as T where T.RowNumber >10 * (2- 1)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 秋夕古诗 秋夕古诗的赏析 秋夕的前两句诗是什么意思? 红辣椒la-01详细参数 小辣椒手机键盘英文怎么切换为中文? 小辣椒手机打字英文怎么转换中文? 小辣椒手机输入法怎么改成中文? 小辣椒手机输入法怎么改成中文 语信红辣椒手机中文输入键盘设置:手机写信息不能手写输入,键盘怪怪的 请问《红辣椒》パレード(平沢进)前奏和歌曲中一直重复的歌词是什么意思? 平沢进 红辣椒Don&#39;t Forget Me中英文对照的歌词,用在线翻译工具的滚远点 求能与日本动画电影《红辣椒》匹配的中文字幕 求 动漫红辣椒 百度云资源 含中文字幕 求红辣椒乐队 snow 中文歌词 大红椒是不是甜椒 红辣椒的歌词 give it away红辣椒中文歌词 同学聚会,相片怎样留言? 辽海出版社出版的小学生一年级寒假作业哪有卖的? 沈阳哪里有卖三年级语文第二教材的 秋夕是部编版几年级的古诗 小学生必备古诗70首里秋天的有哪些 秋夕 杜牧 赏析杜牧 秋夕是杜牧的诗吗 望洞庭,夜书所见,白雪歌送武判官归京,秋夕,江雪,别董大哪首是思乡诗? 杜牧的秋夕这首古诗描绘了哪些画面 你好,在千牛里上传宝贝没有品牌上传不了,该怎么办? 千牛工作台发布品牌商品时,没有找到自己需要的品牌怎么办呀? 千牛工作台发布宝贝不能选择品牌怎么办 千牛上产品自己的品牌审核通过了,怎么上产品时还是没法填写自己的品牌呢?_百度问一问 如何在千牛上发布没有实体的商品? sqlserver实现分页的几种方式 十二生肖中最珍贵的动物是什么生肖? 十二生肖里最珍贵的动物是什么? 最珍贵的动物是?指十二生肖。 十二生肖最珍贵的是什么? 十二生肖什么动物 最珍贵 十二生肖动物中那个最珍贵? 十二生肖最珍贵的动物 十二生肖全身最贵的动物是?