2012-05-31 4 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.

Смежные вопросы