only_full_group_by
MySQL 5.7 오류
MySQL 버전 5.7에는 only_full_group_by
문에 집계되지 않은 모든 열이 SELECT
문에 포함되어야 하는 GROUP BY
모드가 도입되었습니다. 이 오류는 쿼리의 SELECT
문에 GROUP BY
문에 나타나지 않는 집계되지 않은 열이 포함된 경우 발생합니다.
이 문제를 해결하는 방법에는 두 가지가 있습니다.
방법 1: GROUP BY
mod_users_groups.group_id
문에 누락된 열 GROUP BY
을 추가합니다.
<code class="language-sql">SELECT g.group_id AS 'value', g.group_name AS 'text' FROM mod_users_groups g LEFT JOIN mod_users_data d ON g.group_id = d.group_id WHERE g.active = 1 AND g.department_id = 1 AND g.manage_work_orders = 1 AND g.group_name != 'root' AND g.group_name != 'superuser' GROUP BY g.group_name, g.group_id HAVING COUNT(d.user_id) > 0 ORDER BY g.group_name</code>
이렇게 하면 SELECT
문에서 집계되지 않은 모든 열이 GROUP BY
문에 포함되어 오류가 제거됩니다.
방법 2: 집계 함수 사용
또는 누락된 열이 그룹화와 관련이 없는 경우 집계 함수를 사용하여 데이터를 선택하기 전에 요약할 수 있습니다. 예를 들어 group_name
이 실제로 고유한 경우 mod_users_groups.group_id
를 다음 집계 함수로 바꿀 수 있습니다.
<code class="language-sql">MIN(mod_users_groups.group_id)</code>
이는 각 고유 group_name
에 대해 가장 작은 group_id
을 반환하여 SELECT
문에 집계 열만 포함되도록 합니다.
위 내용은 mysql 5.7`only_full_group_by` 오류를 해결하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!