SUM столбцы по часам (с использованием столбца DATETIME)
У меня есть база данных, в которой мне нужно суммировать 2 значения, используя столбец datetime. Пример:
Date Offered 4/16/2012 08:00:00 2 4/16/2012 08:30:00 18 4/16/2012 09:00:00 14 4/16/2012 09:30:30 42
Мне нужно суммировать значения 08:00:00 с 08:30:00 (всего: 20) и 09:00:00 с 09:30:00 (всего: 56) и так далее.
Это должно сработать для вас
select datepart(hour,myDate), SUM(Offered) from myTable group by datepart(hour,myDate), dateadd(d, 0, datediff(d, 0, myDate))
Вам нужно сгруппировать как час, так и дату, если вы хотите, чтобы это было суммировано по отдельному дню, иначе вы включите другие дни (IE 15 апреля и т. Д.)
Ваш псевдокод
Select HOUR(date), sum(offered) as sumO FROM YourTable Group By Hour(date)
Час (дата) должен быть изменен до правильного синтаксиса для базы данных, с которой вы работаете.
SELECT [Hour] = DATEPART(HOUR, [Date]), Offered = SUM(Offered) FROM dbo.table_name WHERE [Date] >= '20120416' AND [Date] < '20120417' GROUP BY DATEPART(HOUR, [Date]) ORDER BY [Hour];
Используйте функцию DatePart. Синтаксис зависит от вашей базы данных
Select DatePart("year", Date), Sum(Offered) From table1 Group By DatePart("year", Date)