php - 如何计算 mysql-rows 之间的差异,有点不同

标签 php mysql sql

我有一张接收游戏结果的表。每个游戏都有自己的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 行的东西......)?

http://sqlfiddle.com/#!2/70a96/4

最佳答案

如果您可以在将此值提交到数据库之前使用 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/

相关文章:

php - 在 PHP 中的动态页面上搜索

php - 将JSON从iOS发布到PHP

javascript - 使 Youtube 360​​ 度视频在移动设备上运行

PHP - mysqldump 不起作用

java - 如何使用Java防止oracle数据库中的重复插入?

php - Laravel 静态创建方法

mysql - 使用 Mysql 存储过程检查行是否存在不起作用

mysql - 选择与一项关联的多项

mysql - 我可以在 SQL 查询中执行 not in except for 吗?

python - 如何计算给定日期的 SQL 表中列的总和,并用最接近的前一个日期修补缺失值?