2012-04-17 3 views
1

datetime 열을 사용하여 2 개의 값을 더하는 데 필요한 데이터베이스가 있습니다. 예 : I 함께 8시 0분 0초의 값을 합산 할 필요시간별 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시 30분 0초 (총 : 20)와 함께 9시 30분 0초 9시 0분 0초 (총 : 56) 및 곧.

+2

어떤 데이터베이스를 사용하고 있습니까? MySQL, SQL Server, Oracle? – hkutluay

답변

2

이 그렇지 않으면 (IE 4월 15일 등 다른 일을 포함 할 것, 작동합니다 .. .)

-1

DatePart 기능을 사용하십시오. 구문 작업중인 데이터베이스에 대한 올바른 구문으로 변경 될 필요가 데이터베이스

Select DatePart("year", Date), Sum(Offered) 
From table1 
Group By DatePart("year", Date) 
+0

그는 1 년 동안이 아니라 시간으로 합산하기를 원하는 것 같습니다. –

+0

비슷한 개념이지만 같은 날짜인지 확인하고 싶을 수도 있습니다. – Brian

+0

시간당 그것을 할 수 있기를 원하며 같은 날짜인지 확인하고 싶습니다. 감사! – Brad

1

귀하의 의사 코드

Select HOUR(date), sum(offered) as sumO 
FROM YourTable 
Group By Hour(date) 

시간 (날짜)에 따라 달라집니다. 당신

select datepart(hour,myDate), SUM(Offered) 
from myTable 
group by 
    datepart(hour,myDate), 
    dateadd(d, 0, datediff(d, 0, myDate)) 

당신은 시간과 날짜 당신이 개인 일까지 요약하려면 모두 그룹에 필요에 대한

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]; 
+0

이것은 하루 동안 만 작동하기 때문에 이것은 매우 도움이되지 않는다고 생각합니다. –

+1

@Stefan 어제는 예제가 사용 된 날짜 범위이기 때문에 하루 동안 만 작동합니다. 거기에 기간을 입력 할 수 있습니다. –