Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menggunakan Fungsi SUM() untuk Perbandingan dalam Klausa MySQL WHERE?
Menggunakan Fungsi MySQL SUM() dalam Klausa WHERE
Dalam MySQL, menggunakan fungsi SUM() dalam klausa WHERE secara langsung adalah terhad . Sebaliknya, anda boleh menggunakan klausa HAVING bersama-sama dengan fungsi SUM().
WHERE SUM(tunai) > Isu 500:
Pertanyaan yang disediakan menggunakan WHERE SUM(tunai) > 500 tidak akan berfungsi kerana fungsi agregat seperti SUM() tidak boleh digunakan untuk perbandingan dalam klausa WHERE.
Klausa HAVING:
Untuk menggunakan fungsi agregat sebagai perbandingan, anda perlu menggunakan klausa HAVING. Klausa HAVING digunakan dengan klausa GROUP BY untuk mengekang keputusan pengelompokan.
Contoh Pertanyaan:
Untuk mencari baris pertama di mana jumlah tunai berjalan melebihi 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>
Penjelasan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Fungsi SUM() untuk Perbandingan dalam Klausa MySQL WHERE?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!