一尘不染

SQL:仅检索其值已更改的记录

sql

抱歉,没有描述的标题。我们继续进行编辑。

我有一张桌子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


阅读 294

收藏
2021-03-10

共1个答案

一尘不染

如果我没看错,您不是要查找经过修改的行,而是要查找价格比前一天有所变化的行。此查询或类似的查询应该执行以下操作:

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)
2021-03-10