MySQL 오류: 'main.users.type'이 GROUP BY에 없습니다.
phpMyAdmin에서 발생한 오류 메시지는 다음을 나타냅니다. GROUP BY 절에서 열(이 경우 유형)이 누락되었습니다. query.
이유:
MySQL에서는 집계 함수(예: COUNT, SUM)가 아닌 SELECT 절의 모든 열이 GROUP BY에 포함되어야 합니다. 절. 이렇게 하면 해당 열에 따라 결과가 올바르게 그룹화됩니다.
수정:
오류를 해결하려면 GROUP BY에 누락된 열을 추가해야 합니다. 절:
SELECT `name`, `type`, `language`, `code` FROM `users` WHERE `verified` = '1' GROUP BY `name`, `type`, `language`, `code` ORDER BY `count` DESC LIMIT 0, 25
배경:
SQL92에서는 SELECT 절의 모든 열이 GROUP BY 절의 일부여야 합니다. SQL99에서는 GROUP BY 절에 기능적으로 종속되는 열을 허용하도록 이 제한이 완화되었습니다. 그러나 MySQL은 기본적으로 부분 그룹을 허용하므로 예측할 수 없는 결과가 발생할 수 있습니다.
일관성을 보장하기 위해 @@sql_mode를 'ONLY_FULL_GROUP_BY'로 설정할 수 있습니다.
SET @@sql_mode='ONLY_FULL_GROUP_BY';
이 설정을 사용하면 부분적인 GROUP BY 쿼리로 인해 오류가 발생하여 절에 필요한 모든 열을 포함해야 합니다.
위 내용은 MySQL이 GROUP BY 오류에 'main.users.type'을 던지는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!