Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Получить в одном запросе последнюю и предпоследнюю даты  [new]
tow123
Guest
Есть таблица на SQL2000.

CREATE TABLE [dbo].[Ttt] (
	[id] [int] IDENTITY (1, 1) NOT NULL ,
	[num] [int],
	[dt] [datetime] 
) ON [PRIMARY]


Insert into Ttt (num,dt) values(1,'01-01-2011')
Insert into Ttt (num,dt) values(1,'01-02-2011')
Insert into Ttt (num,dt) values(1,'01-03-2011')
Insert into Ttt (num,dt) values(2,'02-01-2011')
Insert into Ttt (num,dt) values(2,'02-02-2011')
Insert into Ttt (num,dt) values(2,'02-03-2011')

Как кратчайшим способом получить таблицу вида

num       ПоследняяДата(dt)        ПредыдущаяДата(dt)
5 июл 11, 18:54    [10927528]     Ответить | Цитировать Сообщить модератору
 Re: Получить в одном запросе последнюю и предпоследнюю даты  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3752
пора в фак заносить
5 июл 11, 18:56    [10927545]     Ответить | Цитировать Сообщить модератору
 Re: Получить в одном запросе последнюю и предпоследнюю даты  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
tow123, MAX и DATEADD
5 июл 11, 19:10    [10927611]     Ответить | Цитировать Сообщить модератору
 Re: Получить в одном запросе последнюю и предпоследнюю даты  [new]
qwerty112
Guest
kDnZP
tow123, MAX и DATEADD

а DATEADD, какбэ - нафига ?

select * from [dbo].[Ttt] t1
where (select count(*) from [dbo].[Ttt] t2 where t2.num=t1.num and t2.dt>=t1.dt) <= 2
5 июл 11, 19:40    [10927697]     Ответить | Цитировать Сообщить модератору
 Re: Получить в одном запросе последнюю и предпоследнюю даты  [new]
qwerty112
Guest
tow123
Как кратчайшим способом получить таблицу вида

num       ПоследняяДата(dt)        ПредыдущаяДата(dt)


select num, max(dt) as xz1, min(dt) as xz2 
from [dbo].[Ttt] t1
where (select count(*) from [dbo].[Ttt] t2 where t2.num=t1.num and t2.dt>=t1.dt) <= 2
group by num
num         xz1                                                    xz2                                                    
----------- ------------------------------------------------------ ------------------------------------------------------ 
1           2011-01-03 00:00:00.000                                2011-01-02 00:00:00.000
2           2011-02-03 00:00:00.000                                2011-02-02 00:00:00.000
5 июл 11, 19:45    [10927718]     Ответить | Цитировать Сообщить модератору
 Re: Получить в одном запросе последнюю и предпоследнюю даты  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
qwerty112, ну я прочитал как последнюю и предыдущую, т.е. -1 день))). Но в любом случае - у вас идиологически вернее, но еще результат повернуть надобно).
5 июл 11, 19:47    [10927725]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить