请问在@id 中返回的是什么值? 是多个值还是单个值!如果是单个值是结果集合中的第一个值还是最后一个?

LIHY70 2005-12-28 11:14:25
declare @id varchar
set rowcount 10
select @id=loc from loc_mst order by loc asc
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
-狙击手- 2005-12-28
  • 打赏
  • 举报
回复
经测试你的程序在我的电脑上没问题
子陌红尘 2005-12-28
  • 打赏
  • 举报
回复
declare @pageSize int --返回一页的记录数
declare @curPage int--页号(第几页)1:第一页;2:第二页;......;-1最后一页。
declare @count int
declare @id varchar
set @pagesize=10
set @curpage=2

--最后一页
if @curpage=-1
begin
select @count=count(*) from loc_mst
if @count%@pagesize=0
set @count=@count-@pagesize+1
else
set @count=(@count/@pagesize)*@pagesize+1
end

--定位
if @curpage>0
set @count=@pagesize*(@curpage-1)+1

set rowcount @count
select @id=loc from loc_mst order by loc asc

--返回记录
set rowcount @pagesize
select * from loc_mst where loc>=@id order by loc asc
set rowcount 0
LIHY70 2005-12-28
  • 打赏
  • 举报
回复
sorry 打错了
select * from loc_mst where loc=@id order by loc asc
应为
select * from loc_mst where loc>=@id order by loc asc
LIHY70 2005-12-28
  • 打赏
  • 举报
回复
请 libin_ftsafe(子陌红尘) 帮我看看,我的下边这段sql 那里错了!
为什么 无论我把 @curpage 设置多少,都只返回第一页
declare @pageSize int --返回一页的记录数
declare @curPage int--页号(第几页)1:第一页;2:第二页;......;-1最后一页。
declare @count int
declare @id varchar
set @pagesize=10
set @curpage=2

--最后一页
if @curpage=-1
begin
set rowcount @pagesize
select @id=loc from loc_mst order by loc asc
end

--定位
if @curpage>0
begin
set @count=@pagesize*(@curpage-1)+1
set rowcount @count
select @id=loc from loc_mst order by loc asc
end
--返回记录
set rowcount @pagesize
select * from loc_mst where loc=@id order by loc asc
set rowcount 0
-狙击手- 2005-12-28
  • 打赏
  • 举报
回复
说最后一条比较合适吧,要是总记录少于10条呢?
浩方软件HFWMS 2005-12-28
  • 打赏
  • 举报
回复
单个值,而且是第10条记录的值
-狙击手- 2005-12-28
  • 打赏
  • 举报
回复
同意楼上
子陌红尘 2005-12-28
  • 打赏
  • 举报
回复
单个值,而且是最后一条记录的值

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧