Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'SENARAI PILIH MySQL tiada dalam klausa GROUP BY'?
Menyelesaikan masalah "SENARAI PILIH tiada dalam klausa KUMPULAN OLEH" Ralat dengan MySQL
Ralat "Ungkapan #1 senarai SELECT tiada dalam KUMPULAN OLEH klausa dan mengandungi lajur tanpa agregat" biasanya berlaku dalam MySQL apabila hasil pertanyaan mengandungi lajur bukan agregat yang tidak termasuk dalam klausa GROUP BY. Ini disebabkan oleh tetapan sql_mode=only_full_group_by, yang menguatkuasakan peraturan pengelompokan yang lebih ketat.
Untuk menangani isu ini, terdapat beberapa penyelesaian:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
SELECT * FROM `tbl_customer_pod_uploads` WHERE `load_id` = '78' AND `status` = 'Active' GROUP BY `proof_type`, `id`
SELECT `proof_type`, COUNT(*) AS `document_count` FROM `tbl_customer_pod_uploads` WHERE `load_id` = '78' AND `status` = 'Active' GROUP BY `proof_type`Adalah penting untuk ambil perhatian bahawa menukar mod SQL bukanlah amalan terbaik. Penyelesaian pilihan ialah mengubah suai pertanyaan untuk mematuhi peraturan pengelompokan yang lebih ketat.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'SENARAI PILIH MySQL tiada dalam klausa GROUP BY'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!