Intereting Posts
Присоедините таблицу путем сопоставления строк в Hive или Impala или Pig Как заполнить отсутствующие даты группами в таблице в sql Как определить тип базы данных mysql: будь то InnoDB или MyISAM? java.lang.UnsatisfiedLinkError: no sqljdbc_auth в java.library.path Как я могу получить последние 12 месяцев с текущей даты PLUS дополнительных дней до 1-го числа последнего месяца Как заменить символ из строки в SQL? Ошибка синтаксиса Java SQL в инструкции INSERT INTO Запрос завершается с точкой с запятой (;) get SqlException и процесс не завершается SQL REGEXP_SUBSTR возвращает null String при расщеплении Применение CTE для рекурсивных запросов Колонка SQL для преобразования строк Любое влияние производительности на Oracle для использования LIKE 'string' vs = 'string'? Настройка SQL Server 2008: переменная DateTime Как я могу SELECT строк с MAX (значение столбца), DISTINCT другим столбцом в SQL? MS-Access: объединить две таблицы «ниже» друг с другом

SQL SERVER – Групповые записи за считанные минуты

У меня есть таблица вроде этого:

[SDate - DateTime] [Value - Decimal] 2010-11-16 10:32:22 1 2010-11-16 10:58:08 2 

и мне нужен запрос для группировки записей с интервалом в 1 минуту.

Выход может быть, например (сгруппирован на 60 минут):

  2010-11-16 10:10:00 avg(Value) 2010-11-16 10:11:00 avg(Value) 2010-11-16 10:12:00 avg(Value) 

До сих пор я использовал этот запрос для группировки на 10-минутный интервал, так как интервалы между 0 и 60 минутами:

 ... GROUP BY DATEPART(YEAR, SDate), DATEPART(MONTH, SDate), DATEPART(DAY, SDate), DATEPART(HOUR, SDate), (DATEPART(MINUTE, SDate) / 10) 

Но теперь интервал может составлять 125436758 минут.

Я не могу создавать новые таблицы, и пользовательский интервал должен быть n минут. Я использую SQL SERVER 2012. Спасибо.

 GROUP BY ... (DATEDIFF(MINUTE, 0, SDate) / @n)