Rumah > pangkalan data > tutorial mysql > Ralat MySQL: 'Penggunaan fungsi kumpulan tidak sah'—WHERE vs. HAVING: Bilakah Saya Perlu Menggunakan Yang Mana?

Ralat MySQL: 'Penggunaan fungsi kumpulan tidak sah'—WHERE vs. HAVING: Bilakah Saya Perlu Menggunakan Yang Mana?

Barbara Streisand
Lepaskan: 2025-01-11 22:42:41
asal
891 orang telah melayarinya

MySQL Error:

Ralat MySQL: Penggunaan fungsi kumpulan tidak sah

Apabila anda menghadapi ralat "Penggunaan fungsi kumpulan tidak sah" semasa menggunakan MySQL, pastikan anda memahami perbezaan antara klausa WHERE dan HAVING.

Dalam pertanyaan yang disediakan, matlamatnya adalah untuk mencari bahagian yang dibekalkan oleh sekurang-kurangnya dua pembekal. Pada mulanya, anda cuba menggunakan klausa WHERE untuk membandingkan setiap pid dengan output subkueri yang mengira sid. Walau bagaimanapun, MySQL melakukan WHERE sebelum pengagregatan, menjadikan pendekatan ini tidak berkesan.

Penyelesaian yang betul ialah menggunakan klausa HAVING. HAVING menapis hasil fungsi agregat seperti COUNT(), membolehkan anda melakukan pengiraan selepas pengagregatan. Dengan menulis semula subkueri menggunakan HAVING, seperti yang ditunjukkan dalam jawapan:

(
  SELECT c2.pid
  FROM Catalog AS c2
  WHERE c2.pid = c1.pid
  HAVING COUNT(c2.sid) >= 2
)
Salin selepas log masuk

Anda boleh mendapatkan hasil yang anda inginkan. Klausa HAVING akan memastikan bahawa hanya bahagian dengan sekurang-kurangnya dua pembekal dimasukkan ke dalam output akhir.

Atas ialah kandungan terperinci Ralat MySQL: 'Penggunaan fungsi kumpulan tidak sah'—WHERE vs. HAVING: Bilakah Saya Perlu Menggunakan Yang Mana?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan