2016-11-07 69 views
-2

这是目前正在获取所有用户排名的MySQL查询。但我想获取特定的用户等级。查找用户测试的排名MySQL

SELECT Percentage_of_Marks,mark,test_id, 
     1+(SELECT count(*) from user_test a 
      WHERE a.Percentage_of_Marks > b.Percentage_of_Marks) as RNK, 
     Percentage_of_Marks 
FROM user_test b 
ORDER BY b.Percentage_of_Marks DESC 

我的查询结果是。

enter image description here

如何找到特定为test_id的RNK。

+0

附加其中为test_id = '叔044'(from子句和前为了通过后) – scaisEdge

+1

参见http://meta.stackoverflow.com/questions/333952/why-should-i-provide-an -mcve换什么,似乎对我将要-A-极简单的SQL查询 – Strawberry

回答

0
SELECT 
    Percentage_of_Marks,mark,test_id, 
    1+ 
    (
     SELECT count(*) 
     from user_test a 
     WHERE a.Percentage_of_Marks > b.Percentage_of_Marks 
    ) as RNK, 
    Percentage_of_Marks 
FROM user_test b 
where b.test_id='$test_id' 
ORDER BY b.Percentage_of_Marks DESC limit 1