0

我有一个包含一些数据的表,我只想显示该表中的前 10 个排名,在最后一列我想显示登录到应用程序的用户的排名。

例子

rank  | name |school

 1        aaa     JUU
 2        bbb      AL
 3        ccc      TN
 .       .....    ......

 8       xxx     KAR
 9       yyy     PUN
 10      zzz     KOL
 31      NNN      DEL 

在最后一行,我想显示登录应用程序的用户的排名,例如。这里学生“NNN”已经登录申请,他的等级是31。
请帮帮我。

4

2 回答 2

0
  1. 选择排名前 10 位
  2. 与当前用户联合
  3. 利用当前用户尚未进入前 10 名...

select rank, name, school from ranks order by rank asc limit 10
union 
select rank, name, school from ranks where name = ?? 
     and name not in (select  name from ranks order by rank asc limit 10)
于 2013-06-18T15:23:09.567 回答
0

您可以使用:

  SELECT * -- or whatever is your selection
    FROM mytable
   WHERE rank <= 10
   LIMIT 10
UNION
  SELECT *
    FROM mytable
   WHERE name = 'lll' -- Provided name is unique
ORDER BY rank;

小提琴演示

于 2013-06-18T17:16:18.963 回答