0
我正在写一个php脚本来确定卡车的燃料使用情况。我为此使用mysql数据库表。 A,B,C,D地点有几个地方可以获得燃料,比如说A,B,C,D地点。 卡车从最近的这些位置之一获取燃油。每次卡车获得燃油时,负责人将输入“燃油量”和“里程表”的值来编程。php mysql连续行计算
sequence_id locations fuelDispensed odometer
1 C 700 8100
2 A 400 9700
3 B 500 15500
4 C 600 17950
等等。
有了这个来自db的信息,只需通过使用“sequence_id”计算连续行之间的“里程表”差异,就可以轻松找到卡车从一个位置到另一个位置行驶的KM或英里数。
问题是:人们可能会忘记或不能将值输入到程序中,并在稍后执行。数据变成这样:
sequence_id locations fuelDispensed odometer
1 C 700 8100
2 B 500 15500
3 C 600 17950
4 A 400 9700
在这种情况下,根据sequence_id不可能在连续行之间计算。也许,通过对里程表值进行升序排序,然后在行之间进行连续计算似乎是合乎逻辑的,但我无法了解如何做到这一点。
编辑:我的查询是这样的:
SELECT
t1.odometer AS km1,
t2.odometer AS km2,
FROM fueldispensed AS t2, fueldispensed AS t1
WHERE (t1.sequence_id+1= t2.sequence_id) AND (t1.truck_id='$truckid') AND (t2.truck_id='$truckid') ORDER BY t1.sequence_id";
添加ORDER BY,因为我得到的“sequence_id”继承这个查询有没有效果。
请看到我的编辑查询。 – mustafa 2012-01-29 18:09:45
按顺序排序或按里程表排序...一个给你错误的结果,另一个给你的结果...但你不能有两种方法...... __change__你的ORDER BY为ORDER BY里程表ASCENDING – 2012-01-29 18:12:02
我应该从查询中删除这部分t1.sequence_id + 1 = t2.sequence_id吗?因为我JOIN表本身以获得连续的行 – mustafa 2012-01-29 18:14:56