c# 排序简单问题 SQL语句

来源:百度知道 编辑:UC知道 时间:2024/09/21 20:24:30
select webid,Count from websites order by Count desc;
如上面SQL语句 进行了反排序。
=======================================================
现在是,如何获取其中webid=5 它排在第几位呢?
我想 gspsenses 写的对,我明天一个个检查你们给出的帮助,再选标准答案

如果webid是主键,可以用减法,即得到所有count>=(webid=5的count)的记录数,再减去count=(webid=5的count)and (webid>5)的记录数即可。
如果不是,最好用游标:以下st_questionid用webid代替,st_courseid用count代替:
declare @cnt int,@id int,@cid int
set @id=-1
set @cnt=0

declare mycursor cursor for select st_questionid, st_courseid from st_questioninfo order by st_courseid desc
open mycursor

while(@@fetch_status=0 and @id<>5967)
begin
set @cnt=@cnt+1
fetch next from mycursor into @id,@cid
end
close mycursor
deallocate mycursor
select @cnt

先在SQL中出来数据,再在C#后台中取行号就行了。你如果想在SQL中取行号那就用存储过程。

SELECT ROW_NUMBER() OVER (ORDER BY id DESC) rid, * FROM [User] u

select sum(wedid) where Count > (select Count from websites where webid = 5) from websites.

select rid from (select row_number()over(order by count asc) as rid, * from websites) where webid=5

第5位