> 데이터 베이스 > MySQL 튜토리얼 > 원격 SQL 쿼리에서 MySQL 오류 #1140: 'GROUP 열 혼합'을 해결하는 방법은 무엇입니까?

원격 SQL 쿼리에서 MySQL 오류 #1140: 'GROUP 열 혼합'을 해결하는 방법은 무엇입니까?

Barbara Streisand
풀어 주다: 2025-01-01 13:53:10
원래의
916명이 탐색했습니다.

How to Resolve MySQL Error #1140:

원격 환경에서 MySQL 오류 #1140: "Mixing of GROUP columns" 처리

"MySQL #1140 - Mixing of GROUP columns(MIN( ), MAX(), COUNT(),...) GROUP 열이 없는 경우 GROUP BY 절이 없으면 불법입니다." 이는 SQL 쿼리가 GROUP BY 절을 사용하지 않고 그룹화된 열(예: COUNT())과 그룹화되지 않은 열(예: nid)을 혼합하려고 시도함을 나타냅니다.

특정 사례에서 문제는 다음에서 발생합니다. 다음 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
로그인 후 복사

문제를 해결하려면 두 가지 방법이 있습니다. 옵션:

  1. ONLY_FULL_GROUP_BY 비활성화: 이 MySQL 서버 설정에서는 선택한 모든 열(집계 함수 제외)이 GROUP BY 절에 포함되어야 합니다. MySQL 구성에서 ONLY_FULL_GROUP_BY를 0으로 설정하여 비활성화할 수 있습니다.
  2. GROUP BY 절 추가: 또는 선택 항목에 사용된 열을 기준으로 결과를 명시적으로 그룹화할 수 있습니다.
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')
GROUP BY nid, node_data_field_update_date_field_update_date_value
ORDER BY node_data_field_update_date_field_update_date_value DESC
로그인 후 복사

이러한 솔루션 중 하나를 통합하면 '혼합' 문제를 해결할 수 있습니다. GROUP columns' 오류가 발생하여 원격 환경에서 SQL 쿼리를 성공적으로 실행했습니다.

위 내용은 원격 SQL 쿼리에서 MySQL 오류 #1140: 'GROUP 열 혼합'을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿