如果我在维修店有一个程序,并且想要选择我的RepairOrder表中的所有车辆,其中后续维修订单的里程少于先前修理订单的里程,我如何建立选择声明?如何选择数字随着日期的增加而下降的行
ID VehicleID Mileage RepairDate
01 1 18425 2013-08-13
02 1 28952 2013-02-26
03 2 22318 2012-08-27
04 3 21309 2012-08-07
05 3 16311 2012-02-27
06 3 16310 2012-02-11
07 4 11098 2011-03-23
08 5 21309 2012-08-07
09 5 16309 2012-02-27
10 5 16310 2012-02-11
在这种情况下,我只能选择VehicleID 1,因为它有一个RepairDate是大于前一行,但里程小于上一行。同一辆车也可能有3排,中间日期的里程为3或5000000,我还需要选择这些车辆ID。
使用铅()函数
ID RepairDate Mileage
25 2011-12-23 45934
48 2009-02-26 13
48 2009-04-24 10
71 2011-07-26 31163
71 2015-01-13 65656
我不明白你的3排样,你能否详细说明或将其包含在样本数据作为汽车5.还您使用的RDBMS是什么? –
我使用Sms服务器和ssms,我刚刚为你添加了数据。所以查询也应该选择vehicleID 5,因为中间修理的里程比它之前的行少。我也应该说3行或更多行。一辆车可能有10个维修订单,其中1个里程已经搞砸了,我需要举报。 – IQtheMC
什么版本的sql server?所以这只是为了检测数据错误。但是,那么你想要VehiculeID或ID发生错误? –