>데이터 베이스 >MySQL 튜토리얼 >집계 함수가 없는 내 SQL `GROUP BY` 쿼리가 오류를 반환하는 이유는 무엇입니까?

집계 함수가 없는 내 SQL `GROUP BY` 쿼리가 오류를 반환하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-24 21:42:11750검색

Why Does My SQL `GROUP BY` Query Without Aggregate Functions Return an Error?

집계 함수가 없는 GROUP BY 함수

GROUP BY 연산을 이해하는 것은 어려울 수 있으며, 특히 집계 함수를 제외할 경우 더욱 그렇습니다. 이 기사에서는 개념과 그 의미에 대해 자세히 설명합니다.

제공된 예에서는 집계 함수 없이 EMP 테이블에서 GROUP BY 연산을 실행하려고 시도하여 여러 오류가 발생했습니다. "GROUP BY 표현식이 아닙니다"라는 오류 메시지는 GROUP BY 절에 지정된 열이 SELECT 문에서 선택한 열과 일치해야 함을 나타냅니다.

이것이 필요한 이유를 이해하려면 어떻게 해야 하는지 이해하는 것이 중요합니다. GROUP BY는 여러 행을 단일 행으로 변환합니다. 행을 결합할 때 다양한 값을 가진 열을 처리하기 위한 지침이 필요합니다. 따라서 SELECT 문에 포함하는 모든 열은 다음 중 하나를 수행해야 합니다.

  • GROUP BY 절에 포함
  • 집계 함수에 사용

예를 들어, 다음 테이블을 고려하십시오.

Name | OrderNumber
------------------
John | 1
John | 2

이름에 대해서만 GROUP BY를 실행하는 경우, 결과에는 OrderNumber를 선택하기 위한 규칙이 필요합니다. 옵션은 다음과 같습니다.

  • GROUP BY 절에 OrderNumber 포함: 이렇게 하면 두 개의 행이 생성됩니다.

    • John | 1
    • 존 | 2
  • 집계 함수 사용:

    • MAX(OrderNumber): 결과: John | 2
    • SUM(OrderNumber): 결과: John | 3

Oracle은 SELECT 및 GROUP BY 문의 열을 일치시켜 일관된 데이터 조작을 보장하고 모호성을 방지합니다.

위 내용은 집계 함수가 없는 내 SQL `GROUP BY` 쿼리가 오류를 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.