如果玩家获得了某些积分,根据积分有一些等级,现在如果我有玩家的总积分,我想通过查看表中是否玩家超过最低分数来更新他/她的等级限制达到下一个级别?
level desc points
1 level 1 200
2 level 2 400
3 level 3 600
玩家当前积分为350,一旦达到400,他的等级应该更新为2
playerid playername level
1 abc 1
2 xyz 3
答案 0 :(得分:0)
update table_name
set level =case when points <350 then 1
when points >= 350 then 2
else 3
end
答案 1 :(得分:0)
如果你有一个名为玩家的表格,其字段为 id 且积分,而一个名为 levels 的表格带有字段级别和点比以下查询更有效
SELECT players.*,max(levels.level) AS level
FROM players
LEFT JOIN levels ON players.points >= levels.points
GROUP BY players.id