【发布时间】:2016-10-03 15:57:47
【问题描述】:
我有一些订购日期:
2013-01-01
2013-02-01
2014-01-01
2014-06-01
2016-01-01
2016-03-01
我想只取那些在一年或更长时间出现之前存在的那些,所以我的输出应该是:
2013-01-01
2013-02-01
2014-01-01
2014-06-01
(在 2014-06-01 和 2016-01-01 之间跳转大于 1 年)
在 SQL 中是否有一种简单优雅的方式来执行此操作?通常我会将数据分成 2 个表,将行号分配给一个表偏移一个,然后计算每个日期之间的差异,注意出现第一个间隙的行号。
这是一个我似乎经常遇到的问题,并且会从一个简单的解决方案中受益匪浅。
【问题讨论】:
-
你的方法听起来不错。在带有行号的 cte 中执行此操作,然后再进行选择。
标签: sql