Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Прошу помочь с запросом.. / 2 сообщений из 2, страница 1 из 1
10.11.2020, 14:15
    #40016819
Rusich2012
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помочь с запросом..
Здравствуйте!
Есть вопрос.

Имеется таблицы вида:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
ID	Date
6	2020-11-06 08:30:00.000
6	2020-11-06 10:05:03.857
6	2020-11-06 10:05:07.107
6	2020-11-06 10:07:27.967
10	2020-11-06 10:14:11.233
10	2020-11-06 11:05:00.000
9	2020-11-06 12:14:00.000
9	2020-11-06 12:35:00.000
9	2020-11-06 13:30:00.000
6	2020-11-06 15:00:00.000
6	2020-11-06 17:29:27.520




Вопрос, можно ли найти MIN и MAX даты сгруппировав их по ID?
Подвох в том, что там где ID = 6 получается 2 группы.
Т.е. нужно привести к такой таблице:

Код: sql
1.
2.
3.
4.
5.
ID	Date_min			Date_max
6	2020-11-06 08:30:00.000		2020-11-06 10:07:27.967
10	2020-11-06 10:14:11.233		2020-11-06 11:05:00.000
9	2020-11-06 12:14:00.000		2020-11-06 13:30:00.000
6	2020-11-06 15:00:00.000		2020-11-06 17:29:27.520



Буду очень благодарен за любую подсказку!
...
Рейтинг: 0 / 0
10.11.2020, 14:55
    #40016833
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Прошу помочь с запросом..
Rusich2012,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
declare @t table (id int, date datetime);

insert into @t values 
(6	,'2020-11-06 08:30:00.000'),
(6	,'2020-11-06 10:05:03.857'),
(6	,'2020-11-06 10:05:07.107'),
(6	,'2020-11-06 10:07:27.967'),
(10	,'2020-11-06 10:14:11.233'),
(10	,'2020-11-06 11:05:00.000'),
(9	,'2020-11-06 12:14:00.000'),
(9	,'2020-11-06 12:35:00.000'),
(9	,'2020-11-06 13:30:00.000'),
(6	,'2020-11-06 15:00:00.000'),
(6	,'2020-11-06 17:29:27.520');

with x as (
    select row_number() over (order by 1/0) as [rn], * from @t
),
y as (
    select row_number() over (order by [rn]) - row_number() over (partition by [id] order by [rn]) as rn2, * from x
)
select
      [id],
      min([date]) as [min_date],
      max([date]) as [max_date]
from y
group by [rn2], [id]
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Прошу помочь с запросом.. / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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