MySQL 運行總計計算:完整解決方案
在 MySQL 中,計算給定資料集的運行總計可以透過直接的方法實現。為此,請考慮以下查詢:
<code class="language-sql">SELECT DAYOFYEAR(`date`) AS d, COUNT(*) FROM `orders` WHERE `hasPaid` > 0 GROUP BY d ORDER BY d</code>
此查詢傳回一個表,其中包含一年中的日期 (d) 欄位和該日期已付款訂單的相應計數。要新增運行總計列,我們可以使用變數 @runtot,並將查詢修改如下:
<code class="language-sql">SET @runtot := 0; SELECT q1.d, q1.c, (@runtot := @runtot + q1.c) AS rt FROM (SELECT DAYOFYEAR(`date`) AS d, COUNT(*) AS c FROM `orders` WHERE `hasPaid` > 0 GROUP BY d ORDER BY d) AS q1</code>
在此更新的查詢中:
SET @runtot := 0;
將運行總計變數初始化為零。 (@runtot := @runtot q1.c) AS rt
透過將每個 c 值加到先前的運行總計來計算運行總計,並將其分配給 'rt' 列。 此查詢的結果將是一個新表,其中包含附加的 'rt' 列,表示每天已付款訂單的運行總計。
以上是如何在 MySQL 中計算運行總計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!