MySQL 오류 #1140: GROUP 열 혼합
이 오류는 MySQL 쿼리에서 GROUP 함수와 GROUP이 아닌 열을 혼합할 때 발생합니다. SELECT 목록이지만 GROUP BY 절은 없습니다. 즉, 선택한 열 중 일부는 함께 그룹화해야 하고 다른 열은 그룹화하지 말아야 함을 제안합니다.
다음 SQL 쿼리를 고려해 보세요.
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;
이 쿼리는 'update' 유형의 노드 수를 확인하고 각 노드의 노드 ID(nid)와 업데이트 날짜를 검색합니다. 그러나 SELECT 목록에서 GROUP 함수 COUNT()를 GROUP이 아닌 열 nid 및 node_data_field_update_date_field_update_date_value와 혼합합니다.
이 오류를 해결하려면 MySQL 서버에서 ONLY_FULL_GROUP_BY 설정을 비활성화하거나 쿼리를 그룹화하도록 수정하세요. 비 GROUP 열:
ONLY_FULL_GROUP_BY 비활성화:
mysql> SET GLOBAL ONLY_FULL_GROUP_BY = OFF;
쿼리에 그룹화 추가:
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;
위 내용은 MySQL 오류 #1140: GROUP 열 혼합을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!