mysql 更新排名 MySQL更新排名和關係

2021-10-18 03:06:17 字數 816 閱讀 9684

我有下表:

rank rankties teamname winningpercentage

teama 1000

teamb 1000

teamc 500

teamd 250

teame 250

teamf 250

teamg 0

我想使用儲存的例程通過winningpercentage desc對這些進行排名,因此更新的表應該是:

rank rankties teamname winningpercentage

1 2 teama 1000

1 2 teamb 1000

3 1 teamc 500

4 3 teamd 250

4 3 teame 250

4 3 teamf 250

7 1 teamg 0

我可以使用臨時表執行此操作,但是有乙個更優雅的解決方案,就像乙個update語句?

(從t中選擇*)t2這裡為了避免mysql限制,當你不能在子查詢中使用更新的表:(「你不能指定目標表』t』用於from子句中的更新」)

update t t1 set rankties=(select count(*) from

(select * from t) t2

where t2.winningpercentage=t1.winningpercentage),

rank=(select count(*)+1 from

(select * from t) t2

where t2.winningpercentage>t1.winningpercentage)

mysql 更新 排名 更新MySQL表中的排名

一種選擇是使用排名變數,例如 update player join select p.playerid,currank currank 1 as rank from player p join select currank 0 r order by p.points desc ranks on ra...

mysql 分數排名,更新表

如何用mysql 查詢出資料出資料排名,然後加編號 表字段說明 查詢e task result表 score代表分數,task result id 代表id select rowno rowno 1 as rowno,task result id score from select task res...

mysql查詢並更新 MySQL如何實現更新查詢?

update更新查詢的基本語法是 where update查詢的實現 讓我們考慮下表 data 其中包含四列 id firstname lastname 和 age 要更新 data 表中 id 為201的人員的 age 我們可以使用以下 使用過程方法更新查詢 link mysqli connect...