SQL语句如何返回某条记录在记录集中的第几条

SQL语句如何返回某条记录在记录集中的第几条比如有条记录的ID是5,记录集为select*fromtablewhereIDin(1,2,5,8,10)那么ID为5的记录在... SQL语句如何返回某条记录在记录集中的第几条

比如有条记录的ID是5,记录集为select * from table where ID in (1,2,5,8,10) 那么ID为5的记录在这个记录集中应该是3,请问能否用一条sql语句来实现呢:
基本样式应该是
select $$$$$$ from
(select * from table where ID in (1,2,5,8,10))
where ID=5
就是标记 $$$$ 的地方应该怎么写呢?
含苞的方法 我试了可以,也写在了存储过程里面了,但循环的方法总觉得不太理想,有没有快速简单的方法呢?

沉默用户 你是拿我举的这个例子来说得 ,而我给出的记录集只是说测试用的,不一定就是ID的顺序排列的。
展开
 我来答
百度网友5c91d28
2006-01-13 · TA获得超过5084个赞
知道大有可为答主
回答量:1916
采纳率:50%
帮助的人:1682万
展开全部
select count(*)+1
from
(select id from table where ID in (1,2,5,8,10)) as a
where ID<5

同理,如果想看8是第几个就把where 条件改成where id<8
这条语句只针对where 条件中指定的ID在子查询"select id from table where ID in (1,2,5,8,10) "的记录集中才是正确的,这应该满足楼主的需要。
du瓶邪
推荐于2016-06-04 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2812万
展开全部
只能用Fetch来循环读取 把它放在存储过程里:
declare @cur_pos int
declare mycursor cursor for
select id from bbsmenu order by ID asc -查询条件
declare @col1 char(10)
select @cur_pos=1
open mycursor
fetch next from mycursor into:@col1
while @@fetch_status<>-1
begin
if @col1=1
begin
select @cur_pos
CLOSE mycursor
DEALLOCATE mycursor
return
end
select @cur_pos=@cur_pos+1
fetch next from mycursor into:@col1
end
CLOSE mycursor
DEALLOCATE mycursor.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
孤倾勿荷悟15
推荐于2016-05-26 · TA获得超过939个赞
知道小有建树答主
回答量:601
采纳率:0%
帮助的人:0
展开全部
sql好像没有提供这样的功能(也许本人不知道,知道的请教教我)

只能用Fetch来循环读取 把它放在存储过程里就OK拉

declare @cur_pos int
declare mycursor cursor for
select id from bbsmenu order by ID asc -查询条件
declare @col1 char(10)

select @cur_pos=1
open mycursor
fetch next from mycursor into:@col1
while @@fetch_status<>-1
begin
if @col1=1
begin
select @cur_pos
CLOSE mycursor
DEALLOCATE mycursor
return
end
select @cur_pos=@cur_pos+1
fetch next from mycursor into:@col1
end
CLOSE mycursor
DEALLOCATE mycursor
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
科创板故事
2006-01-13 · 超过16用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:0
展开全部
该天有空告诉你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式