我有一個數據庫,需要使用datetime列求和2個值。例如:按小時計算SUM列(使用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
我需要總結的8點00分○○秒的值八時三十零分00秒(總:20)和9時00分○○秒與9時30分〇〇秒(共:56)和等等。
我有一個數據庫,需要使用datetime列求和2個值。例如:按小時計算SUM列(使用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
我需要總結的8點00分○○秒的值八時三十零分00秒(總:20)和9時00分○○秒與9時30分〇〇秒(共:56)和等等。
這應該爲你工作
select datepart(hour,myDate), SUM(Offered)
from myTable
group by
datepart(hour,myDate),
dateadd(d, 0, datediff(d, 0, myDate))
你需要按兩個小時,如果你想通過個人總結當天的日期,否則你會包括其他天數(即4月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];
我不認爲這是非常有用的,因爲它只適用於一天。 – 2012-07-19 10:01:08
@Stefan呃,它只能工作一天,因爲那是使用示例的日期範圍。你可以在那裏放任何日期範圍。 – 2012-07-19 11:27:30
您正在使用哪個數據庫? MySql,SQL Server,Oracle? – hkutluay 2012-04-17 18:39:39