MySQL 오류 1111 해결: 그룹 기능의 잘못된 사용
MySQL을 사용할 때 "오류 1111(HY000): 컬럼별로 그룹화하면서 동시에 COUNT(*) 등의 그룹 함수를 사용하여 데이터를 집계하려고 할 때 "그룹 함수의 잘못된 사용"이 발생합니다.
이 오류를 해결하려면 SELECT 절에서 그룹 함수를 사용하지 않는 것이 좋습니다. GROUP BY 작업. 대신 하위 쿼리나 ORDER BY 절을 사용하여 원하는 최대값을 검색하세요.
다음 예를 고려하세요.
<code class="mysql">SELECT name, MAX(COUNT(*)) AS max_count FROM table GROUP BY name;</code>
이 쿼리는 COUNT() 때문에 오류를 반환합니다. SELECT 절에서 사용되는 동시에 이름별로 그룹화됩니다. 이 문제를 해결하려면 SELECT 절에서 COUNT()를 제거하고 이를 MAX 함수 내 하위 쿼리로 사용하세요.
<code class="mysql">SELECT MAX((SELECT COUNT(*) FROM table WHERE name = t.name)) AS max_count FROM table t GROUP BY name;</code>
이 쿼리를 실행하면 각 항목에 대한 최대 레코드 수를 얻을 수 있습니다. 테이블에 이름이 있습니다. 또는 ORDER BY 절을 사용하여 개수에 따라 결과를 정렬한 다음 첫 번째 레코드만 가져올 수 있습니다.
<code class="mysql">SELECT name, COUNT(*) AS count FROM table GROUP BY name ORDER BY count DESC LIMIT 1;</code>
위 내용은 MySQL 오류 1111을 수정하는 방법: 열로 그룹화할 때 그룹 기능의 잘못된 사용?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!