如果我在维修店有一个程序,并且我想在我的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
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我应该只选择VehicleID 1,因为它的RepairDate大于前一行,但是里程小于前一行.也可能有3排同一车辆,中间日期的里程为3或5000000,我也需要选择那些VehicleID.
使用LEAD()函数的结果
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
Run Code Online (Sandbox Code Playgroud)