我有一张接收游戏结果的表。每个游戏都有自己的ID,并且只持续7天。每天一次,所有游戏都会将其结果放入此表中(技能 A、技能 B...的结果分别存储在一列中)。
我需要能够在 MySQL 中检索的内容:我需要显示每个游戏 (game_id) 及其所有结果,以及每天结果之间的进度(可能上升或下降)。
结果应该是这样的:
Game_id date result_a progress result_b progress
1234 2013-09-01 10 0 8 0
1234 2013-09-02 08 -2 6 -2
1234 2013-09-03 15 7 10 4
1234 2013-09-04 19 4 13 3
4321 2013-09-01 09 0 7 0
4321 2013-09-02 18 9 9 2
4321 2013-09-03 15 -3 11 2
4321 2013-09-04 09 -6 16 4
有什么技巧可以轻松处理这个问题(它可能会变成大约 4000 行的东西......)?
最佳答案
如果您可以在将此值提交到数据库之前使用 PHP 进行工作,则可以拥有整周的所有值,并且可以循环遍历每个数据,然后根据当前与上一个之间的差异更新进度,然后使用新的进度值更新表格。
请原谅我只写了伪代码,因为我不擅长 PHP
//Get the values from the Database, only the columns, game_id, date, result_a, result_b
for(i=0;all values)
{
progress[i] = result[i]- result[i-1];
}
//finally save the result as you have prgress value for all i's
关于php - 如何计算 mysql-rows 之间的差异,有点不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19072281/