当前位置:  开发笔记 > 数据库 > 正文

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

如何解决《SQL:仅检索其值已更改的记录》经验,为你挑选了1个好方法。

抱歉,这是一个不起眼的标题.我会随着时间进行编辑.

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



1> David M..:

如果我读得正确,那么您不是要查找已修改的行,而是查找速率从上一个日期开始变化的行.此查询或类似的东西应该这样做:

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)

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有