SELECT 分数,用户ID,名次=(SELECT COUNT(1) FROM
((select max(分数)分数,用户ID from 表 GROUP BY 用户ID))A WHERE A.分数<=B.分数)
FROM(select max(分数)分数,用户ID from 表 GROUP BY 用户ID)B
((select max(分数)分数,用户ID from 表 GROUP BY 用户ID))A WHERE A.分数<=B.分数)
FROM(select max(分数)分数,用户ID from 表 GROUP BY 用户ID)B
((select max(分数)分数,用户ID from 表 GROUP BY 用户ID))A WHERE A.分数<=B.分数)
FROM(select max(分数)分数,用户ID from 表 GROUP BY 用户ID)B
from
(
select
*,
px=(select count(1)+1 from tb where 分数>t.分数)
from tb t
) tt
where 用户ID='1'
order by 分数 desc
select * from #table1 where 用户ID=‘1’;
SELECT identity(int,1,1) as 排名,id,name,分数 into #table from t1 order by id descselect * from #table where 用户ID='1';
--SQL 2005
SELECT TOP 1 * FROM
(
SELECT [用户ID],[分数],Rank() Over (Order By [分数] DESC) AS RK FROM TB
) AS TB
WHERE [用户ID]='1'