2012-05-31 58 views
2

之前发现的第一个记录说我有一个表:SQL - 选择一个给定的日期

ID DATE 
1 2/1/12 
2 3/1/12 
3 1/1/12 
4 4/1/12 

我怎么会去选择指定日期的递减时,找到的第一个日期。

示例:按日期查找4/1/12前的最后一个条目。如果加入返回在SQL ID 2.

项:

ID DATE 
5 3/2/12 

比上面的例子将返回在SQL ID进入5

我怎么会代表什么,我需要在SQL?

回答

5
Select top 1 ID, DATE 
from table 
where DATE < '4/1/12' 
order by DATE DESC 
+0

我更喜欢@myDate更好 –

+0

@ K'Leg是的,我也是,但是试图像我一样真实地对待op的例子 – Gratzy

+0

简单的解决方案,效果很棒! – user1429195

0

其他的想法:(除了Gratzy的)

选择MAX日期为日期是低于目标日期。

使用LAG功能。

相关问题