ホームページ  >  記事  >  データベース  >  MySQL WHERE 句での比較に SUM() 関数を使用するにはどうすればよいですか?

MySQL WHERE 句での比較に SUM() 関数を使用するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-04 06:07:29655ブラウズ

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) > を使用した提供されたクエリ。 SUM() のような集計関数は WHERE 句の比較に使用できないため、500 は機能しません。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。