У меня следующий запрос, в котором я пытаюсь получить среднее количество часов по дням.Я получаю итоги без проблем, но я не могу получить среднее значение.
Может кто-нибудь увидеть, что я делаю неправильно с приведенным ниже запросом, а также как я могу получить результаты вследующий формат?
SELECT
[Day],
[Hour],
[DayN],
Totals,
AVG(Totals) AS [Avg]
FROM
(
SELECT
[Day] = DATENAME(WEEKDAY, StartDate),
[DayN] = DATEPART(WEEKDAY, StartDate),
[Hour] = DATEPART(HOUR,StartDate),
Totals = COUNT(*)
from
Visit
where
StartDate >= '01 Jan 2019'
GROUP BY
DATENAME(WEEKDAY,StartDate),
DATEPART(WEEKDAY,StartDate),
DATEPART(HOUR,StartDate)
) AS q
GROUP BY [Day], [Hour], Totals, [DayN]
ORDER BY DayN;

Пример данных: (подробнее на https://justpaste.it/65w8z)
CREATE TABLE [dbo].[Visit](
[VisitID] [int] NOT NULL,
[StartDate] [datetime] NULL
)
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30513, CAST(N'2019-01-01T00:06:28.480' AS DateTime))
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30514, CAST(N'2019-01-01T00:07:23.637' AS DateTime))
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30515, CAST(N'2019-01-01T00:14:44.840' AS DateTime))
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30516, CAST(N'2019-01-01T00:16:05.030' AS DateTime))
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30517, CAST(N'2019-01-01T00:18:23.787' AS DateTime))
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30518, CAST(N'2019-01-01T00:20:33.073' AS DateTime))
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30519, CAST(N'2019-01-01T00:20:42.450' AS DateTime))
GO
INSERT [dbo].[Visit] ([VisitID], [StartDate]) VALUES (30520, CAST(N'2019-01-01T00:25:03.303' AS DateTime))
GO