次のクエリを 1 つにマージしようとしていますが、何を試してもうまくいかないようです。その考え方は、自動インクリメント フィールドを持つ一時テーブルに並べ替えられたリストを挿入し、新しいリストを取得して、更新された値で元のテーブルを更新することです。
INSERT INTO `TempRank` (`id`, `power`)
SELECT `Rankable`.`id`, `Rankable`.`SA` AS `power`
FROM `Rankable`
INNER JOIN `Accounts` ON `Accounts`.`id` = `Rankable`.`id`
WHERE `Accounts`.`active` = '1'
ORDER BY `power` DESC;
UPDATE `Rankable`, `TempRank`
SET `Rankable`.`id` = `TempRank`.`id`,
`Rankable`.`Rank` = `TempRank`.`Rank`
WHERE `Rankable`.`id` = `TempRank`.`id`
どんな情報でも大歓迎です。あなたの答えを待っている間、私はこれに取り組み続け、私が見つけたものを更新します. ご協力ありがとう御座います!