Этот код создает ранг на лету и устанавливает их соответственно. Теперь вопрос в том, как обновить значения Rank в таблице без дублирования?
Помоги мне, пожалуйста! Благодаря …
SELECT TeamID, TeamName, TeamLeader, TeamEmail, TeamWins, TeamLoss, TeamPoints, TeamRank FROM ( SELECT TeamID, TeamName, TeamLeader, TeamEmail, TeamWins, TeamLoss, TeamPoints, @Rank := @Rank + 1 AS TeamRank FROM team CROSS JOIN (SELECT @Rank:=0) Sub0 ORDER BY TeamPoints DESC ) Sub1
ОБНОВЛЕНИЕ [РЕШЕНИЕ ПРОБЛЕМЫ]
Я решил проблему, ниже это решение со ссылкой на пользователя, который его решил
Вы просто выполняете инструкцию SELECT. Чтобы обновить его, вам действительно нужно использовать инструкцию UPDATE в исходной таблице и использовать этот запрос для подачи значений teamRank:
UPDATE team t INNER JOIN( SELECT TeamID, TeamPoints, @Rank := @Rank + 1 AS TeamRank FROM team CROSS JOIN (SELECT @Rank:=0) Sub0 ORDER BY TeamPoints DESC ) a ON a.teamID = t.teamID SET t.teamRank = a.teamRank
Пользователь: https://stackoverflow.com/users/1385896/filipe-silva "
Спасибо Филипе Сильве ..