집 >데이터 베이스 >MySQL 튜토리얼 >SQL에서 '단일 그룹 그룹 기능이 아님' 오류를 해결하는 방법은 무엇입니까?
SQL의 "단일 그룹 그룹 함수가 아님" 오류 이해
SELECT에서 그룹 함수를 개별 열 표현식과 결합하려고 할 때 제공된 쿼리와 같은 문:
SELECT SSN, MAX(SUM(TIME)) FROM downloads GROUP BY SSN
"단일 그룹 그룹 기능이 아님"이 나타날 수 있습니다. 오류. 이는 SUM(TIME) 그룹 함수가 각 그룹(SSN)에 대해 단일 값을 계산하여 개별 열 표현식 SSN과 호환되지 않기 때문에 발생합니다.
이 오류를 해결하려면 다음과 같은 몇 가지 옵션이 있습니다.
개별 열 제거 표현식:
SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN
해당 SSN 없이 최대 합계 값만 반환합니다.
모든 열에 GROUP BY 절을 추가합니다. 표현식:
SELECT SSN, MAX(SUM(TIME)) FROM downloads GROUP BY SSN, TIME
결과를 두 기준으로 그룹화합니다. SSN 및 TIME, MAX(SUM(TIME)) 함수를 유효하게 만듭니다.
집계 하위 쿼리 사용:
SELECT SSN, SUM(TIME) FROM downloads GROUP BY SSN HAVING SUM(TIME) = (SELECT MAX(SUM(TIME)) FROM downloads GROUP BY SSN)
이 하위 쿼리 최대 합계 값을 계산하고 각 SSN에 대한 SUM(TIME)이 일치하는 행만 선택합니다.
특정 요구 사항에 따라 이러한 솔루션 중 하나를 사용하면 "단일 그룹 그룹 기능이 아님" 오류가 발생하지 않고 원하는 결과를 얻을 수 있습니다.
위 내용은 SQL에서 '단일 그룹 그룹 기능이 아님' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!