合計mysqlクエリを実行中 - ほとんど動作している

私は累計の列を達成することに近いですが、私は単純なものを見逃していると思います。どんな助けでも大歓迎です。

SET @runtot := 0;
SELECT
  COUNT(adjustment_id) AS Adjustments,
  DATE(FROM_UNIXTIME(shifts.outtime)) AS 'Month',
  (@runtot := @runtot + COUNT(adjustment_id)) AS RT
FROM adjustments
  INNER JOIN shifts
    ON (shifts.shiftID = adjustments.shiftID)
  INNER JOIN employees
    ON (shifts.idnum = employees.idnum)
WHERE YEAR(FROM_UNIXTIME(shifts.outtime)) = '2012'
GROUP BY MONTH(FROM_UNIXTIME(shifts.outtime))
ORDER BY MONTH(FROM_UNIXTIME(shifts.outtime))ASC

上のコードは出力します:

Adjustments | Month      | RT
34          | 2012-08-29 | 34
161         | 2012-09-01 | 161

RTはAdjustmentsと一致し、私が望むように、実行中の合計を表示しません。

あなたの助けを前もってありがとう!

2
nl ru de

1 答え

集計クエリの結果に対して、実行中の合計を実行する必要があります。

SET @runtot := 0;

SELECT 
    Adjustments,
    Month,
    (@runtot := @runtot + Adjustments) AS RT
FROM ( SELECT
COUNT(adjustment_id) AS Adjustments,
DATE(FROM_UNIXTIME(shifts.outtime)) AS 'Month'
FROM
adjustments
INNER JOIN shifts ON (
shifts.shiftID = adjustments.shiftID
)
INNER JOIN employees ON (shifts.idnum = employees.idnum)
WHERE
YEAR (FROM_UNIXTIME(shifts.outtime)) = '2012'
GROUP BY MONTH(FROM_UNIXTIME(shifts.outtime))
ORDER BY MONTH(FROM_UNIXTIME(shifts.outtime)) ASC
) x
2
追加された
心配する必要はありません、そして、stackoverflowへようこそ:)いくつかの質問に答え、良いものを尋ねることで、コミュニティに参加してください - そうすることであなたが学んだことに驚くでしょう。 (ps私は削除されたダングリングカンマを削除する答えを編集しました)
追加された 著者 Bohemian,
これはチャンピオンのように働いた! (注意してください私は '、'を削除する必要がありましたAS月 'の後にエラーが発生したため)。あなたはボヘミアンを揺する。早速のお返事ありがとうございます。
追加された 著者 user2020930,