我有下表:
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...