抱歉,这是一个不起眼的标题.我会随着时间进行编辑.
我有一张桌子RateTable
:
| Code | Date | Rate | B001 2009-01-01 1.05 B001 2009-01-02 1.05 B001 2009-01-03 1.05 B001 2009-01-04 1.05 B001 2009-01-05 1.06 B001 2009-01-06 1.06 B001 2009-01-07 1.06 B001 2009-01-08 1.07
每天都有一个条目,但费率很少变化.我是否可以编写一个只返回发生速率变化的行的SQL查询?我正在使用SQLServer
如果我读得正确,那么您不是要查找已修改的行,而是查找速率从上一个日期开始变化的行.此查询或类似的东西应该这样做:
SELECT r1.Code, r1.Date, r1.Rate FROM RateTable r1 WHERE r1.Rate <> (SELECT TOP 1 Rate FROM RateTable WHERE Date < r1.Date ORDER BY Date DESC)