2013-02-28 40 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

相关问题