首頁 > 資料庫 > mysql教程 > 如何使用單一查詢計算 MySQL 中的運行總計?

如何使用單一查詢計算 MySQL 中的運行總計?

Linda Hamilton
發布: 2025-01-22 06:46:10
原創
670 人瀏覽過

How to Calculate Running Totals in MySQL with a Single Query?

使用單一查詢在 MySQL 中高效計算運行總計

本指南示範了一個 MySQL 查詢來計算每日訂單計數的運行總計,假設您的資料包含 date 列和指示成功付款的 hasPaid 標誌。

這是最佳化後的查詢:

SET @runtot:=0;
SELECT
   DATE(`date`) AS d,
   COUNT(*) AS c,
   (@runtot := @runtot + COUNT(*)) AS rt
FROM  `orders`
WHERE  `hasPaid` > 0
GROUP  BY d
ORDER  BY d;
登入後複製

此查詢將變數 @runtot 初始化為零。 然後,核心邏輯計算每日訂單數 (COUNT(*) AS c),並在單一 @runtot := @runtot COUNT(*) AS rt 語句中同時更新運行總計 (SELECT)。這避免了子查詢或多次傳遞的需要,從而提高了效率。 GROUP BY d 子句按天將結果分組,並且 ORDER BY d 確保按順序計算運行總計。 此方法有效地產生運行總計列 (rt) 以及每日訂單數 (c) 和日期 (d)。

以上是如何使用單一查詢計算 MySQL 中的運行總計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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