抱歉,标题不伦不类。我将在进行过程中进行编辑。
我有一个表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)
关于SQL:仅检索值已更改的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/689912/