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!