Gunakan klausa HAVING untuk menapis kumpulan dalam pertanyaan kumpulan MySQL: hadkan skop kumpulan dan tapis kumpulan berdasarkan nilai agregat kumpulan, seperti mencari kumpulan pelanggan dengan nilai pesanan purata lebih daripada $100. Bandingkan nilai agregat kumpulan, seperti mencari kumpulan pelanggan dengan jumlah kiraan pesanan lebih daripada 10. Gunakan fungsi agregat seperti SUM(), AVG(), COUNT(), dsb. Perbezaan dengan klausa WHERE ialah klausa WHERE menapis baris individu, manakala klausa HAVING menapis kumpulan.
Penggunaan klausa HAVING dalam MySQL
Klausa HAVING digunakan untuk menapis kumpulan dalam pertanyaan berkumpulan. Ia serupa dengan klausa WHERE, tetapi digunakan untuk menapis kumpulan data dan bukannya baris individu.
Sintaks:
<code class="sql">SELECT ... GROUP BY ... HAVING condition</code>
Penggunaan:
<code class="sql">SELECT customer_id FROM orders GROUP BY customer_id HAVING AVG(order_value) > 100;</code>
<code class="sql">SELECT customer_id FROM orders GROUP BY customer_id HAVING COUNT(*) > 10;</code>
Contoh:
Dapatkan harga purata bagi setiap kategori produk dan hanya tunjukkan kategori dengan harga purata lebih daripada $100:
<code class="sql">SELECT category_name, AVG(product_price) AS average_price FROM products GROUP BY category_name HAVING average_price > 100;</code>
Atas ialah kandungan terperinci Bagaimana untuk menggunakan having dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!