首頁  >  文章  >  資料庫  >  如何在 MySQL WHERE 子句中使用 SUM() 函數進行比較?

如何在 MySQL WHERE 子句中使用 SUM() 函數進行比較?

DDD
DDD原創
2024-11-04 06:07:29653瀏覽

How Can I Use the SUM() Function for Comparisons in a MySQL WHERE Clause?

在WHERE 子句中使用MySQL SUM() 函數

在MySQL 中,直接在WHERE 子句中使用SUM() 函數是有限的。相反,您可以將 HAVING 子句與 SUM() 函數結合使用。

WHERE SUM(cash) > 500 問題:
使用WHERE SUM(cash) > 提供的查詢500 不起作用,因為像SUM() 這樣的聚合函數不能在WHERE 子句中用於比較。

HAVING 子句:
要使用聚合函數進行比較,需要使用HAVING 子句。 HAVING 子句與 GROUP BY 子句一起使用來約束分組結果。

範例查詢:
找出現金運作總計超過500 的第一行:

<code class="sql">SELECT y.id, y.cash
FROM (SELECT t.id,
               t.cash,
               (SELECT SUM(x.cash)
                  FROM table x
                 WHERE x.id <= t.id) AS running_total
         FROM table t
     ORDER BY t.id) y
WHERE y.running_total > 500
ORDER BY y.id
LIMIT 1;</code>

說明:

  • 說明:
  • 說明:
說明:說明:說明:子查詢導出每行的運行總計。 可以引用運行總計的列別名在 WHERE 子句中。 查詢按 ID 排序,並僅限於第一行以檢索所需結果。

以上是如何在 MySQL WHERE 子句中使用 SUM() 函數進行比較?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn