Я пытаюсь отфильтровать последнюю запись в шкафу таблицы до определенной даты, и у меня возникают трудности. Любой вход очень приветствуется. Благодаря! Я бегу Microsoft SQL Server 2008.SQL Найти последнюю запись Ближайшие к дате
Таблица:
code | account | date | amount
1 | 1234 | 2016-02-28 | 500
2 | 1234 | 2016-03-01 | 650
3 | 1234 | 2016-03-05 | 842
4 | 7890 | 2016-02-28 | 500
5 | 7890 | 2016-03-30 | 550
Я хочу, чтобы выбрать только записи с датой ближе к 31 марта ('2016-03-31'). В этом примере запись, ближайшая к 2016-03-31 для учетной записи 1234, - это запись № 3, а запись, ближайшая к 2016-03-31 для учетной записи 7890, - это запись №5. Другими словами, я хочу, чтобы последняя запись для всех учетных записей была равна или до даты.
3 | 1234 | 2016-03-05 | 842
5 | 7890 | 2016-03-30 | 550
Определить ближе. Почему это показывает 3 | 1234 | 2016-03-05 | 842, а не 2 | 1234 | 2016-03-01 | 650 –
ближайший слишком расплывчатый код. Что вы имеете в виду? ближайшая одиночная запись, предшествующая дате? или ближе к дате, указанной до или после? вы ожидаете 1-2 записи? и какой вкус/verson SQL? mySQL, SQL Server, oracle, SyBase и т. д. – xQbert
Какая СУБД вы используете? Postgres? Oracle? DB2? –