2013-04-16 3 views
0

У меня есть таблица с данными каждые 15 минут.SQL group by month and add 15mins

У меня есть этот запрос:

Select Sum(Value) From MyTable Group By month(myDate), year(myDate) 

Однако результат не то, что я хочу, потому что у меня есть значения от

'2013-01-01 00: 00: 00.000' до «2013-01 -31 23: 45: 00,000' и мне нужно иметь значения от

'2013-01-01 00: 15: 00.000' и '2013-02-01 00: 00: 00.000'

Как Я меняю запрос на правильный диапазон дат?

Благодаря

+0

Вы можете создать таблицу в запросе с помощью рекурсивного ОТВ и присоединить его к вашему столу. – Tim

+0

Добавление 15 минут до 23:45 даст вам некоторые значения в феврале, которые в противном случае были бы в январе. Это то, что вы хотите? – Tim

ответ

1

Используйте DATEADD метод:

SELECT Sum(Value) 
FROM MyTable 
GROUP BY MONTH(DATEADD(minute,15,myDate)), YEAR(DATEADD(minute,15,myDate)) 
+0

Спасибо! Фактически, мне пришлось удалить 15 минут, чтобы получить ожидаемый результат. Не знаю, почему: p – Oliver