首頁 > 資料庫 > mysql教程 > MySQL中如何有效率地計算累計和?

MySQL中如何有效率地計算累計和?

Mary-Kate Olsen
發布: 2025-01-22 09:46:09
原創
257 人瀏覽過

How to Efficiently Calculate Cumulative Sums in MySQL?

在 MySQL 中建立累積和欄位

在 MySQL 表中建立累積和列有多種方法,每種方法都有其自身的優點和需要考慮的地方。常見的方法是使用相關子查詢:

<code class="language-sql">SELECT t.id,
       t.count,
       (SELECT SUM(x.count)
          FROM TABLE x
         WHERE x.id <= t.id) AS cumulative_sum
  FROM TABLE t
 ORDER BY t.id;</code>
登入後複製

此查詢透過將目前行與表中所有先前的行關聯來計算每行的累積和,有效地聚合計數值。

或者,您可以使用 MySQL 變數:

<code class="language-sql">SELECT t.id,
       t.count,
       @running_total := @running_total + t.count AS cumulative_sum
  FROM TABLE t
  JOIN (SELECT @running_total := 0) r
 ORDER BY t.id;</code>
登入後複製

此方法使用與內聯視圖的交叉連接來初始化和更新變數 @running_total,該變數追蹤累積和。請注意,此方法是 MySQL 特定的,可能無法移植到其他資料庫。

兩種方法都需要 ORDER BY 子句來確保結果與所需的累積和計算一致。在選擇在 MySQL 中建立累積和列的最合適方法時,請考慮應用程式的上下文和效能要求。

以上是MySQL中如何有效率地計算累計和?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板