2016-04-10 3 views
-2

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

Например, пусть у меня есть следующая таблица

event | time 
----------------- 
1  | 25/1/2009 20:15:00 
1  | 25/1/2009 23:15:00 
5  | 10/1/2009 02:15:00 
1  | 26/1/2009 00:15:00 
1  | 30/1/2009 21:15:00 
5  | 10/1/2009 23:15:00 

Я хочу запрос привести

event | max | start time | end time 
1  | 2 | 25/1/2009 20:15:00 | 26/1/2009 00:15:00 
5  | 1 | 10/1/2009 02:15:00 | 11/1/2009 02:15:00 

даже в конце времени было время последней записи в течение 24 часов, это okay, что означает

event | max | start time | end time 
1  | 2 | 25/1/2009 20:15:00 | 26/1/2009 20:15:00 
5  | 1 | 10/1/2009 02:15:00 | 10/1/2009 23:15:00 

Как это можно сделать с помощью sql-сервера? Я уже сделал это, подключив базу данных к моему java-приложению, но мне нужен эффективный способ использования чистого sql-сервера.

+0

И что вы пробовали? Где вы застряли? MySql или Sql-Server. Пожалуйста, будьте более конкретными и укажите правильные метки. –

+0

Извините за ошибку, это sqlserver. Я попытался подключить базу данных к моему приложению java и сделать это там, и он работает, но я не думаю, что это эффективный способ. – Aladdin

+0

В чем вопрос? –

ответ

0

Попробуйте это:

DECLARE @StartDateTime datetime 

;WITH cte AS 
(
    SELECT [event], [time] 
    FROM YourTable 
    WHERE [time] >= @StartDateTime 
    AND [time] <= DATEADD(HOUR, 24, @StartDateTime) 
) 


SELECT [event], 
     COUNT(*) As [max] 
     MIN([time]) As StartTime, 
     MAX([time]) As EndTime 
FROM CTE 
GROUP BY [event] 

КТР получает только соответствующие записи из таблицы (где время находится в пределах указанных 24 часов), а второй запрос просто простая группа по запросу.

+0

Результат получен по указанному времени, я хочу получить 24-часовые границы, что в пределах этих границ указанное событие имеет наибольшее появление -max-. – Aladdin

+0

вы хотите получить один ряд? потому что ваш вопрос подразумевается иначе ... –

Смежные вопросы