如何写分页存储过程

select*fromawhereidin(Selectmin(id)fromagroupbyuname)表a中的Uname有很多重复的,很多一样的名字。现在要把筛选过后... select * from a where id in(Select min(id) from a group by uname)
表a中的Uname有很多重复的,很多一样的名字。现在要把筛选过后结果分页显示。
请教下对熟悉的朋友,怎么针对这种情况写分页存储过程。
展开
 我来答
百度网友cbd8c31
推荐于2016-12-02 · 超过18用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:58.1万
展开全部
create proc 电影存储过程 --翻页存储过程
@PageSize int, --每页面显示数据条数
@PageIndex int, --页面索引
@PageCount int output, --总页数
@名称 nvarchar(100)
as
--查询范围 (@PageSize*@PageIndex+1) 起始行
-- @PageSize*(@PageIndex+1) 结束行

select * from(select Row_Number() over (order by 影片ID) as id, * from(
select * from 电影 where 名称 like '%'+@名称+'%' or 主演 like '%'+@名称+'%' )a )b where id between (@PageSize*@PageIndex+1) and @PageSize*(@PageIndex+1)

--得到数据行数
select @PageCount=count(1) from 电影 where 名称 like '%'+@名称+'%' or 主演 like '%'+@名称+'%'
--计算出总行数
set @PageCount= (@PageCount-1)/@PageSize+1
print @PageCount

这个是我写过的分页存储过程 给你参考下啊!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式