小编IQt*_*eMC的帖子

如何在日期增加时选择数字下降的行

如果我在维修店有一个程序,并且我想在我的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)

sql sql-server

5
推荐指数
1
解决办法
80
查看次数

标签 统计

sql ×1

sql-server ×1