> 데이터 베이스 > MySQL 튜토리얼 > 내 SQL 쿼리가 '단일 그룹 그룹 함수가 아님' 오류를 반환하는 이유는 무엇입니까?

내 SQL 쿼리가 '단일 그룹 그룹 함수가 아님' 오류를 반환하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-21 05:38:13
원래의
883명이 탐색했습니다.

Why Does My SQL Query Return a

SQL 함수 "단일 그룹 그룹 함수가 아니다" 설명

SQL에서 MAX 등 그룹 함수를 사용할 때 해당 함수는 단일 데이터 그룹에 적용해야 합니다. 즉, 특정 열의 최대값을 구하려면 해당 열별로 데이터도 그룹화해야 한다는 뜻입니다.

그러나 그룹화되지 않은 표현식에 그룹 함수를 적용하려고 하면, "단일 그룹 그룹 기능이 아닙니다."라는 오류가 표시됩니다. 예를 들어, 고객이 다운로드한 열이 포함된 downloads라는 테이블이 있다고 가정해 보겠습니다.

SELECT MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
로그인 후 복사

이 쿼리는 MAX 함수가 데이터 그룹(SSN을 통한 다운로드)에 적용되므로 유효합니다. . 그러나 다음과 같이 select 문에 SSN 열을 추가하려고 하면

SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN
로그인 후 복사

SSN 열이 GROUP BY 절. 즉, SQL에서는 SSN 열이 속한 데이터 그룹을 확인할 수 없으므로 해당 열에 MAX 함수를 적용할 수 없습니다.

이 오류를 해결하려면 다음 세 가지 옵션이 있습니다.

  • select 문에서 MAX 함수를 삭제하면 각 SSN에 대한 다운로드 합계를 얻을 수 있습니다.
  • select 문에서 SSN 열을 삭제하면 다음과 같은 결과가 나타납니다. 모든 고객이 다운로드한 최대 총 시간입니다.
  • 다음과 같이 GROUP BY 절에 SSN 열을 추가합니다.
SELECT SSN, MAX(SUM(TIME))
FROM downloads
GROUP BY SSN, TIME
로그인 후 복사

이렇게 하면 최대 총 다운로드 시간이 제공됩니다. 각각의 고유한 SSN 및 시간 조합에 대해.

위 내용은 내 SQL 쿼리가 '단일 그룹 그룹 함수가 아님' 오류를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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