我有桌游戏 id | visitor | score1 | home | score2 | winner------+-----------+--------+----------+--------+---------- 1 | abc | 20 | xyz | 15 | 2 | def | 31 | uvw | 29 | 3 | ghi | 30 | rst | 25 | 4 | jkl | 16 | lmn | 27 | 5 | lmn | 15 | opq | 21 | 6 | opq | 14 | jkl | 16 | 7 | rst | 9 | ghi | 41 | 8 | uvw | 10 | def | 21 | 9 | xyz | 23 | abc | 19 |
我如何遍历每一行并比较访问者和主队的得分,然后用获奖者的名字更新获奖者列?
最佳答案
定期使用CASE
更新会很好。
UPDATE games
SET winner = CASE WHEN score1 > score2 THEN visitor
WHEN score2 > score1 THEN home
ELSE 'tie' END;
An SQLfiddle to test with。
关于mysql - 比较主场得分和客场得分。然后用优胜者的名字(住家或外出)更新另一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22741667/