Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Menyelesaikan Ralat \"Penggunaan Fungsi Kumpulan Tidak Sah\" dalam MySQL Apabila Mencari Kiraan Maks?

Bagaimana untuk Menyelesaikan Ralat \"Penggunaan Fungsi Kumpulan Tidak Sah\" dalam MySQL Apabila Mencari Kiraan Maks?

Susan Sarandon
Susan Sarandonasal
2024-10-24 19:01:29176semak imbas

How to Resolve the

Cara Mendapatkan Kiraan Maksimum Menggunakan MySQL

Dalam MySQL, anda mungkin menghadapi masalah semasa cuba mencari kiraan maksimum nilai yang dikumpulkan oleh lajur tertentu menggunakan arahan berikut:

mysql> select max(count(*)) from emp1 group by name;
ERROR 1111 (HY000): Invalid use of group function

Memahami Ralat

Ralat timbul kerana MySQL tidak membenarkan menggunakan fungsi agregat seperti max dan dikira bersama sebagai hujah dalam fungsi lain. Sebaliknya, fungsi kumpulan seperti kiraan mesti digunakan terus dalam klausa GROUP BY.

Pertanyaan SQL Betul

Untuk mencari kiraan maksimum nilai yang dikumpulkan mengikut lajur nama dengan betul , gunakan pertanyaan yang diubah suai berikut:

SELECT name,
       COUNT(*) AS c
FROM emp1
GROUP BY name
ORDER BY c DESC
LIMIT 1

Penjelasan Pertanyaan

  • Pernyataan SELECT mengeluarkan lajur nama dan kiraan setiap nama sebagai alias c .
  • Klausa nama KUMPULAN MENGIKUT menghimpunkan hasil berdasarkan lajur nama.
  • Klausa ORDER BY c DESC mengisih hasil dalam tertib menurun berdasarkan nilai kiraan.
  • Fasal LIMIT 1 hanya mengambil baris pertama dengan nilai kiraan maksimum.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat \"Penggunaan Fungsi Kumpulan Tidak Sah\" dalam MySQL Apabila Mencari Kiraan Maks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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