В SQL Server 2017 я пытаюсь сгруппировать несколько записей в одну запись, когда идентификатор учителя и идентификатор клиента совпадают и когда запланированное время составляет сразу 50 минут после предыдущей записи, т.е.
Таблица: Расписание
----------------------------------------------------------------
id custormerid teacherid schedule
----------------------------------------------------------------
571654 1085 46 2022-02-22 07:00:00.000
571657 1085 46 2022-02-25 07:00:00.000
571658 1085 46 2022-02-26 07:00:00.000
571659 1085 46 2022-02-26 07:50:00.000
571660 1085 46 2022-02-26 08:40:00.000
571666 1085 46 2022-02-26 10:20:00.000
571661 1085 46 2022-02-28 07:00:00.000
571662 1085 46 2022-02-28 07:50:00.000
571663 1085 11 2022-02-28 08:40:00.000
571664 1085 46 2022-02-24 07:00:00.000
571665 1085 46 2022-02-24 07:50:00.000
Желаемый результат
--------------------------------------------------------------------------
custormerid teacherid schedule Qty
--------------------------------------------------------------------------
1085 46 2022-02-22 07:00:00.000 1
1085 46 2022-02-25 07:00:00.000 1
1085 46 2022-02-26 07:00:00.000 3
1085 46 2022-02-26 10:20:00.000 1
1085 46 2022-02-28 07:00:00.000 2
1085 11 2022-02-28 08:40:00.000 1
1085 46 2022-02-24 07:00:00.000 2
DDL-скрипт:
CREATE TABLE [dbo].[Schedule](
[id] [int] NOT NULL,
[custormerid] [int] NULL,
[teacherid] [int] NULL,
[schedule] [datetime] NULL)
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571654, 1085, 46, CAST(N'2022-02-22T07:00:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571657, 1085, 46, CAST(N'2022-02-25T07:00:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571658, 1085, 46, CAST(N'2022-02-26T07:00:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571659, 1085, 46, CAST(N'2022-02-26T07:50:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571660, 1085, 46, CAST(N'2022-02-26T08:40:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571661, 1085, 46, CAST(N'2022-02-28T07:00:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571662, 1085, 46, CAST(N'2022-02-28T07:50:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571663, 1085, 11, CAST(N'2022-02-28T08:40:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571664, 1085, 46, CAST(N'2022-02-24T07:00:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571665, 1085, 46, CAST(N'2022-02-24T07:50:00.000' AS DateTime))
INSERT [dbo].[Schedule] ([id], [custormerid], [teacherid], [schedule]) VALUES (571666, 1085, 46, CAST(N'2022-02-24T10:20:00.000' AS DateTime))
Я видел несколько примеров с использованием CET, но я не совсем понял, как получить такой результат.