2013-11-11 1 views
4

Для сервера игры ... У меня есть таблица Jewels:Топ 10 игроков ранжированных по баллам + curent игрок

rank,player_id, plscore. 

Я хочу, чтобы показать 10 лучших игроков, отсортированных по баллам, от высокой к низкой, плюс текущий счет игрока, если текущий игрок не входит в топ 10.
Это может быть мой или ваш счет, если я/вы сейчас не в топ-10. Максимальное количество драгоценностей, которые могут быть подобраны 70.

Пример (по желанию):

__________________________________ 
    rank | player_id | plscore 

    1  zorro007  70 
    2  trus   70 
    3  edvino   67 
    4  snow.boy  65 
    5  anida   61 
    6  nadal_raffo  58 
    7  syskowitz  43 
    8  misterProKill 27 
    9  katamadu134  22 
    10  ewrgreen89  16 
    .    .   . 
    .    .   . 
    94  CURRENT PLAYER 7 
___________________________________ 

Изображение: http://postimg.org/image/3x8ktdjct/

+2

ВЫБОР ранга, player_id, plscore FROM table_name WHERE ранга < 11 OR player_id = current_player_id ORDER BY rank; –

+1

@Marco Frost Почему бы не поставить это как ответ ... комментарии для комментариев. –

+0

@meewoK Извините. ^^ –

ответ

7
SELECT rank, player_id, plscore 
FROM table_name WHERE rank < 11 
OR player_id = current_player_id 
ORDER BY rank; 
+0

, но, как получить текущий игрок для всех других игроков? Например, я использовал имя «ТЕКУЩИЙ ИГРОК», но это могут быть Джон, Оливер, Мартина ... Каждый игрок, наблюдающий за своим счетом, ТОЛЬКО СЕЙЧАС. Это не какой-то определенный игрок с определенным именем. Это могут быть все. – user2979120

+0

Вы просто заменяете 'current_player_id' на player_id той, которая сейчас наблюдает за счетом. Получить этот идентификатор - задача вашей игры. Обычно вы понимаете это, получая player_id из информации входа игрока. Но чтобы дать вам лучший совет, вы должны дать нам еще один код. –

Смежные вопросы