2012-05-31 59 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功能。

相關問題