Дата до максимальной

Daulet
Дата: 09.10.2003 15:13:37
SELECT MAX(Date) AS dr
FROM dbo.mprice
WHERE (Date <= @data)

Все, в порядке, вытаскивает максимальную дату, которая меньше или равна @data.

Теперь вопрос, а как вытащить дату, предыдущую максимальной?
Сорри за чайниковский вопрос.
bushmen
Дата: 09.10.2003 15:15:38
SELECT MAX(Date) AS dr
FROM dbo.mprice
WHERE (Date <= @data-1)
Alex Antonoff
Дата: 09.10.2003 15:15:45
SELECT MAX(Date) AS dr
FROM dbo.mprice
WHERE (Date <= (SELECT MAX(Date) FROM dbo.mprice WHERE (Date <= @data) ))
Daulet
Дата: 09.10.2003 15:22:55
2 bushmen
даты произвольные, м/у ними разрыв в несколько дней и разный
2 Alex Antonoff
давно пробовал, не работает. требует декларировать @data
tpg
Дата: 09.10.2003 15:26:50
давно пробовал, не работает. требует декларировать @data

А ты в том месте, где @data в запросе не заметил сходства своего запроса и запроса от Alex Antonoff
Daulet
Дата: 09.10.2003 15:29:42
Ну вложен такой же запрос в качестве параметра. Я говорю, пробовал. Что делать то?
Glory
Дата: 09.10.2003 15:31:00
Ну если именно "дату, предыдущую максимальной", то предложу такой вариант

select top 1 date from

(select distinct top 2 date from dbo.mprice WHERE (Date <= @data) order by date desc) AS a
order by date
bushmen
Дата: 09.10.2003 15:32:48
м/у ними разрыв в несколько дней и разный

И что из этого? Ну и пусть разрыв в несколько дней?!
ura
Дата: 09.10.2003 16:27:44

declare @DT datetime
select top 2 @DT=date
from dbo.mprice WHERE (Date <= @data)
order by date desc