Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menyelesaikan ralat \'Penggunaan fungsi kumpulan tidak sah\' dalam MySQL apabila mencari kiraan rekod maksimum?

Bagaimana untuk menyelesaikan ralat \'Penggunaan fungsi kumpulan tidak sah\' dalam MySQL apabila mencari kiraan rekod maksimum?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-25 03:35:02959semak imbas

How to resolve

Mencari Kiraan Rekod Maksimum dalam MySQL

Dalam MySQL, apabila cuba mencari kiraan rekod maksimum menggunakan max(count(*)) fungsi pengagregatan, anda mungkin menghadapi ralat "Penggunaan fungsi kumpulan tidak sah." Untuk menyelesaikan isu ini, anda perlu mengubah suai pertanyaan untuk menentukan kiraan maksimum dengan betul.

Dalam pertanyaan yang disediakan:

select max(count(*)) from emp1 group by name;

Bilangan fungsi kumpulan(*) digunakan dalam maksimum fungsi, mengakibatkan ralat. Untuk membetulkannya, anda boleh mengubah suai pertanyaan seperti berikut:

SELECT NAME, 
       COUNT(*) as c 
FROM table 
GROUP BY name 
ORDER BY c DESC LIMIT 1

Pertanyaan ini akan terlebih dahulu mengira kiraan rekod untuk setiap nilai unik dalam lajur nama dan menetapkan kiraan kepada lajur baharu bernama c. Ia kemudian mengumpulkan hasil mengikut lajur nama, mengisihnya dalam tertib menurun berdasarkan lajur c dan mengambil hanya baris pertama, yang mengandungi kiraan maksimum untuk mana-mana nama unik.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan ralat \'Penggunaan fungsi kumpulan tidak sah\' dalam MySQL apabila mencari kiraan rekod maksimum?. 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