Преобразовать запрос выбора для обновления запроса - PullRequest
0 голосов
/ 07 января 2019

Я пытаюсь выбрать ранг в sql, запрос выбора работает нормально, как преобразовать этот выбор в обновление и обновить столбцы.

SET @i=0  ;

SELECT sno, email, points, @i:=@i+1 AS rank FROM user ORDER BY points DESC

как обновить этот выбор в таблице

Получил запрос от здесь

Ответы [ 2 ]

0 голосов
/ 07 января 2019
SET @i=0; 
UPDATE user SET rank= @i:= (@i+1) ORDER BY points DESC;
0 голосов
/ 07 января 2019

Предполагая, что sno является первичным ключом вашей таблицы, вы хотите:

SET @i=0  ;
UPDATE user
JOIN (
    SELECT sno, email, points, @i:=@i+1 AS rank
    FROM user 
    ORDER BY points DESC
) AS ranks ON ranks.sno = user.sno 
SET user.rank = ranks.rank
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...