2013-02-28 48 views
0

我想要多個日期時間的總和值。多個日期時間的總和值?

代碼

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

非常感謝!是工作。 :d – nettoon493 2013-02-28 07:16:04

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

相關問題