У меня есть таблица с этими столбцами: win, los, id ...
Я хочу заказать стол по этому индексу: выигрыш / (выигрыш + проигрыш) * 30 + выигрыш / сумма (выигрыш) * 70
а затем найти ранг для двух идентификаторов.
Я не очень хорош в MySQL, поэтому то, что я написал, совершенно неверно. (Используется Perl + DBI + DBD :: mysql):
$stmt=$con->prepare("SET @rk := 0");
$stmt=$con->prepare("SELECT rank, id FROM (
SELECT @rk := @rk + 1 AS rank,
(win/(win+los)*30+win/SUM(win)*70) AS index,
win, los, id
FROM tb_name ORDER BY index DESC) as result
WHERE id=? AND id=?");
$stmt -> bind_param ("ii", $id1, $id2);
$stmt -> execute();
$stmt -> bind_result($rk, $idRk);
А также этот запрос, который предполагается запускать, возможно, каждые 5-10 секунд для каждого пользователя, поэтому я пытаюсь найти что-то очень, очень быстрое.
При необходимости я мог бы добавить, изменить, удалить любой столбец, чтобы быть максимально быстрым.