我在 SQL Server 数据库中有一个表,它每天存储历史数据。结构如下图:
UploadDate TypeID Value1 Value2
-------------------------------------------
2012-01-08 1 NEG 1998-02-05
2012-01-08 2 NEG 1999-02-09
2012-01-08 3 STABLE 1997-02-06
2012-02-08 1 NEG 1998-02-05
2012-02-08 2 NEG 1999-02-09
2012-03-08 1 POS 2012-03-08
2012-03-08 2 STABLE 2012-01-08
正如您在上面看到的TypeID
1 和 2,Value1
并在 2012 年 3 月 8 日Value2
发生了变化
我的要求是我必须只显示那些从以前的值改变的行。
在这种情况下,因为TypeID
1 和 2 已经改变,所以它应该显示当前和最接近的先前值。而对于TypeID
3 因为它没有改变,它只会显示最新的值。结果集如下所示:
UploadDate TypeID Value1 Value2
-------------------------------------------
2012-01-08 3 STABLE 1997-02-06
2012-02-08 1 NEG 1998-02-05
2012-02-08 2 NEG 1999-02-09
2012-03-08 1 POS 2012-03-08
2012-03-08 2 STABLE 2012-01-08
知道如何使用 SQL 解决这个问题吗?