gpt4 book ai didi

mysql - 有没有更好的方法来进行这些 mySql 更新?

转载 作者:行者123 更新时间:2023-11-29 10:55:33 25 4
gpt4 key购买 nike

    executeSQL("UPDATE records SET played = played + 1 WHERE player IN " + generateClause(all));
executeSQL("UPDATE records SET wins = wins + 1 WHERE player IN " + generateClause(r.getWinners()));
executeSQL("UPDATE records SET winrate = ((wins/played) * 1000) WHERE player IN " + generateClause(all));

基本上我正在尝试在比赛结束后更新球员的记录。我的程序按预期工作,但似乎需要 3 个查询,如果可能的话我只想做一个,因为我发现更少的查询会大大减少应用程序的运行时间,即使对数据库的修改是相同的.

我的疑问如下...1)增加所有玩过游戏的玩家的“玩过”计数2)为获胜的玩家添加胜利3)计算所有刚刚玩过的玩家的胜率

如有任何建议,我们将不胜感激

最佳答案

您可以使用 CASE 语句来管理 wins 递增玩家,并使用 WHERE 语句来递增其他所有人:

executeSQL = "UPDATE records SET played = played + 1, wins = wins + CASE WHEN player in " + generateClause(r.getWinners) + " THEN 1 ELSE 0 END, winrate = ((wins/played) * 1000) WHERE  player in " + generateClause(all))

关于mysql - 有没有更好的方法来进行这些 mySql 更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43094085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com