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

御時間ありがとうございます。:)

4

2 に答える 2

2

クエリ内のを削除する必要がありdateます。cs.totalgroup by

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
于 2013-02-28T03:46:28.487 に答える
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

于 2013-02-28T03:46:39.890 に答える