MySQL: ВЫБРАТЬ победителя, возвращая свой ранг

Ранее я задавал этот вопрос , который в основном задал вопрос о том, как перечислить 10 победителей в таблице со многими победителями, согласно их пунктам.

На это был дан ответ.

Теперь я ищу для поиска данного победителя X в таблице и выясню, в какой позиции он находится, когда таблица упорядочена по точкам.

Например, если это таблица:

Winners: NAME:____|__POINTS: Winner1 | 1241 Winner2 | 1199 Sally | 1000 Winner4 | 900 Winner5 | 889 Winner6 | 700 Winner7 | 667 Jacob | 623 Winner9 | 622 Winner10 | 605 Winner11 | 600 Winner12 | 586 Thomas | 455 Pamela | 434 Winner15 | 411 Winner16 | 410 

Это возможные входы и выходы для того, что я хочу сделать:

 Query: "Sally", "Winner12", "Pamela", "Jacob" Output: 3 12 14 623 

Как я могу это сделать? Возможно ли, используя только инструкцию MySQL? Или мне нужен PHP?

Это то, что я хочу:

 WHEREIS FROM Winners WHERE Name='Sally' LIMIT 1 

Идеи?

Изменить – ПРИМЕЧАНИЕ. Вам не нужно иметь дело с ситуацией, когда у двух победителей есть одинаковые точки (предположим для простоты, что этого не происходит).

Я думаю, что это даст вам желаемый результат. Обратите внимание, что я правильно обрабатываю случаи, когда целевой победитель привязан к очкам с другим победителем. (Оба получают одно и то же положение).

 SELECT COUNT(*) + 1 AS Position FROM myTable WHERE Points > (SELECT Points FROM myTable WHERE Winner = 'Sally') 

Изменить :
Я хотел бы «подключить» ответ Игнасио Васкес-Абрамса , который несколькими способами лучше, чем выше.
Например, он позволяет перечислять всех (или нескольких) победителей и их текущую позицию.
Другим преимуществом является то, что он позволяет выразить более сложное условие, указывающее, что данный игрок опережает другой (см. Ниже). Чтение комментария суперминера о том, что не будет «связей», побудило меня заглянуть в это; запрос может быть слегка изменен, как описано ниже, чтобы справиться с ситуацией, когда игроки имеют одинаковое количество очков (таким игрокам ранее было присвоено то же значение позиции, теперь значение позиции дополнительно привязано к их относительным значениям Начала).

 SELECT w1.name, ( SELECT COUNT(*) FROM winners AS w2 WHERE (w2.points > w1.points) OR (W2.points = W1.points AND W2.Start < W1.Start) -- Extra cond. to avoid ties. )+1 AS rank FROM winners AS w1 -- WHERE W1.name = 'Sally' -- optional where clause 
 SELECT w1.name, ( SELECT COUNT(*) FROM winners AS w2 WHERE w2.points > w1.points )+1 AS rank FROM winners AS w1