Предположим, у нас есть следующий MYSQL-запрос для создания таблицы лидеров:
SELECT x.player_id, x.position,x.leaderboard_value
FROM (SELECT player_id,@rownum := @rownum + 1 AS position,leaderboard_value
FROM table1
JOIN (SELECT @rownum := 0) r
WHERE restrictive_value<200
ORDER BY leaderboard_value DESC) x
, которая создает таблицу лидеров следующим образом:

Текстовый файл в формате CSV: https://www.dropbox.com/s/70xw3ocbonqs98s/sql.csv?dl=0
Как изменить или расширить запрос для предоставления определенной позиции игрока и общего количества позиций (самая высокая позиция)
для таблицы выше и player_id = 10649 я ожидаю таблицу результатов с 1 строкой, содержащей следующие поля:
позиция: 6, общее количество позиций: 20, процент = 0,3 (что составляет 6/20)
Предыстория этого состоит в том, чтобы объединить этот процент с другой таблицей rank_map (rank_id, minvalue, maxvalue), определяющей ранги (rank имеет значение «9», когда это значение находится в диапазоне от 0,2 до 0,4, например)
В концеэтот запрос должен просто вернуть rank: 9 в качестве ответа
Большое спасибо.
ОБНОВЛЕНИЕ:
с Гордоном Линоффомответ, используя этот запрос:
SELECT MAX(CASE WHEN player_id = 10649 THEN position END) as play_position,
COUNT(*) as total_position,
MAX(CASE WHEN player_id = 10649 THEN position END) / COUNT(*) as ratio
FROM (SELECT t1.*, @rownum := @rownum + 1 AS position
FROM table1 t1 CROSS JOIN
(SELECT @rownum := 0) r
WHERE restrictive_value < 200
ORDER BY leaderboard_value DESC
) x;
Я могу получить эту таблицу: 
Остался последний шаг, а именно, как объединить его с таблицей rank (rank_id, minvalue, maxvalue), чтобы получить только строку rank_id, в которой соотношение находится между minvalue и maxvalue?