日期:2014-05-19  浏览次数:20524 次

这种查询该如何写?
select   id   from   表   where   条件   order   by   id   asc
我已经知道id=5在查询结果里,我如何知道id=5在检索结果的第几个?

比如如果检索结果为1   5   8   9,那么id=5在检索结果的第2个.

这个查询该如何写,谢谢!!!

------解决方案--------------------
Select Count(id) From
(select id from 表 where 条件 order by id asc) A
Where id <= 5
------解决方案--------------------
select identity(int,1,1) as id_no,id into #temp from 表 where 条件 order by id asc
select * from #temp where 条件
------解决方案--------------------
select (select count(1)+1 from # where id> a.id) from # a

select id,名次=(select count(1)+1 from # where id <a.id) from # a
where id=5