我有一个数据库,我需要使用datetime列来汇总2个值。例如:
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)的值相加,等等。
答案 0 :(得分:2)
这应该对你有用
select datepart(hour,myDate), SUM(Offered)
from myTable
group by
datepart(hour,myDate),
dateadd(d, 0, datediff(d, 0, myDate))
如果您希望按个别日期汇总,则需要按小时和日期进行分组,否则您将包括其他日期(IE 4月15日等等)
答案 1 :(得分:1)
您的伪代码
Select HOUR(date), sum(offered) as sumO
FROM YourTable
Group By Hour(date)
小时(日期)需要更改为您正在使用的数据库的正确语法。
答案 2 :(得分:0)
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];
答案 3 :(得分:-1)
使用DatePart功能。 语法取决于您的数据库
Select DatePart("year", Date), Sum(Offered)
From table1
Group By DatePart("year", Date)