powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL-запрос. Нужна ваша помощь.
4 сообщений из 4, страница 1 из 1
SQL-запрос. Нужна ваша помощь.
    #32062224
Beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем. Помогите, плиз, с запросом.
Есть таблица :

ID_ PERIOD
1 200107
1 200106
1 200105
2 200104
2 200102
2 200101
... ...

Нужно получить записи по каждому ID_ за два последних периода, т.е.
в выборку должны попасть

ID_ PERIOD
1 200107
1 200106
2 200104
2 200102
и т.д.
Заранее спасибо.
...
Рейтинг: 0 / 0
SQL-запрос. Нужна ваша помощь.
    #32062237
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну... на первый взгяд такой запрос подходит....
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
create table #tmp (id int, dt int)

insert into #tmp values ( 1 ,  200107 )
insert into #tmp values ( 1 ,  200106 )
insert into #tmp values ( 1 ,  200105 )
insert into #tmp values ( 2 ,  200104 )
insert into #tmp values ( 2 ,  200102 )
insert into #tmp values ( 2 ,  200101 )

select id, max(dt)
from #tmp
group by id
union
select id, max(dt)
from #tmp
where dt not in (select max(dt) from #tmp group by id)
group by id

drop table #tmp

В качестве периода использован int, т.к. в представленом примере PERIOD не очень похож на дату. в любом случае, сделать подобное для дат будет несложно
...
Рейтинг: 0 / 0
SQL-запрос. Нужна ваша помощь.
    #32062249
Vasiliy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По-моему, так тоже можно

go
create table #tmp (id int, dt int)

insert into #tmp values (1, 200107)
insert into #tmp values (1, 200106)
insert into #tmp values (1, 200105)
insert into #tmp values (2, 200104)
insert into #tmp values (2, 200102)
insert into #tmp values (2, 200101)

select t.id, t.dt
from #tmp t
where dt in (select top 2 s.dt from #tmp s where s.id=t.id order by s.dt desc)
group by t.id, t.dt
order by t.id, t.dt desc

drop table #tmp
go
...
Рейтинг: 0 / 0
SQL-запрос. Нужна ваша помощь.
    #32062253
Beginner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ув. коллеги, спасибо за помощь !!!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL-запрос. Нужна ваша помощь.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]