Reputation: 18443
i want sum value of multiple datetime.
Code
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
Output
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
But I need output
EmployeeRun | Date | Sum
2330005 | 2012-12-03 - 2012-12-05 | 1200
3467951 | 2012-12-03 - 2012-12-05 | 1680
Thanks for your time. :)
Upvotes: 0
Views: 88
Reputation: 19549
It depends on the flavor of server you're using, but in MySQL you'd just:
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
Formatting aside, just keeping your GROUP BY
limited to EmployeeRun
Upvotes: 1
Reputation: 1270603
You just need to remove date
and cs.total
from the group by
in your query:
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
Upvotes: 2