Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat MySQL #1140: Pencampuran Lajur KUMPULAN?
Ralat MySQL #1140: Pencampuran Lajur GROUP
Ralat ini berlaku apabila pertanyaan MySQL mencampurkan fungsi GROUP dengan lajur bukan GROUP dalam PILIH senarai, tetapi tanpa klausa GROUP BY. Dalam erti kata lain, ia mencadangkan bahawa sesetengah lajur yang dipilih harus dikumpulkan bersama, manakala yang lain tidak sepatutnya.
Pertimbangkan pertanyaan SQL berikut:
SELECT COUNT(node.nid), node.nid AS nid, node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value FROM node node LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid WHERE node.type IN ('update') ORDER BY node_data_field_update_date_field_update_date_value DESC;
Pertanyaan ini cuba mengira bilangan nod jenis 'kemas kini' dan dapatkan ID nod (nid) dan tarikh kemas kini untuk setiap nod. Walau bagaimanapun, ia mencampurkan fungsi GROUP COUNT() dengan lajur bukan GROUP nid dan node_data_field_update_date_field_update_date_value dalam senarai PILIH.
Untuk menyelesaikan ralat ini, sama ada lumpuhkan tetapan ONLY_FULL_GROUP_BY pada pelayan MySQL atau ubah suai pertanyaan kepada kumpulan yang bukan KUMPULAN lajur:
Melumpuhkan ONLY_FULL_GROUP_BY:
mysql> SET GLOBAL ONLY_FULL_GROUP_BY = OFF;
Menambahkan Pengumpulan pada Pertanyaan:
SELECT COUNT(node.nid) AS node_count, node.nid AS nid, node_data_field_update_date.field_update_date_value AS node_data_field_update_date_field_update_date_value FROM node node LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid WHERE node.type IN ('update') GROUP BY node.nid, node_data_field_update_date.field_update_date_value ORDER BY node_data_field_update_date_field_update_date_value DESC;
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat MySQL #1140: Pencampuran Lajur KUMPULAN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!