2013-02-28 4 views
0

나는 여러 datetime의 합계 값을 원합니다.여러 datetime의 합계 값은 어떻게됩니까?

코드

SELECT cs.EmployeeRun, cs.Date, cs.Total, SUM(cs.Total) as Sum 
FROM CusSalaryDay cs 
WHERE cs.Date Between '2012-12-03' and '2012-12-05' 
GROUP BY cs.EmployeeRun, cs.Date, cs.Total 
Order By EmployeeRun,Date 

출력

EmployeeRun | Date | Total | Sum 
2330005 | 2012-12-03 00:00:00.000 | 600 | 600 
2330005 | 2012-12-04 00:00:00.000 | 600 | 600 
2330005 | 2012-12-05 00:00:00.000 | 0 | 0 
3467951 | 2012-12-03 00:00:00.000 | 600 | 600 
3467951 | 2012-12-04 00:00:00.000 | 600 | 600 
3467951 | 2012-12-05 00:00:00.000 | 480 | 480 

하지만 시간의 출력

EmployeeRun | Date | Sum 
2330005 | 2012-12-03 - 2012-12-05 | 1200 
3467951 | 2012-12-03 - 2012-12-05 | 1680 

감사가 필요합니다. :)

답변

2
당신은 당신의 쿼리에서 group by에서 datecs.total를 제거해야

:

SELECT cs.EmployeeRun, min(cs.Date) as MinDate, max(cs.Date) as MaxDate, 
     SUM(cs.Total) as SumTotal 
FROM CusSalaryDay cs 
WHERE cs.Date Between '2012-12-03' and '2012-12-05' 
GROUP BY cs.EmployeeRun 
Order By EmployeeRun 
+0

덕분에 국한 유지! 그것의 작품. :디 – nettoon493

1

그것은 당신이 사용하고있는 서버의 맛에 따라 다르지만 MySQL은 방금 좋겠 :

SELECT 
    EmployeeRun, 
    Date, 
    Total, 
    SUM(Total) AS sum 
FROM CusSalaryDay 
WHERE Date Between 
    '2012-12-03' 
    AND 
    '2012-12-05' 
GROUP BY EmployeeRun 
Order By 
    EmployeeRun, 
    Date 

포맷을 제외하고, 당신의 GROUP BY 너무 EmployeeRun

관련 문제