SQL 쿼리 오류: 열이 집계 함수 또는 GROUP BY 절을 따르지 않기 때문에 SELECT 목록에서 유효하지 않습니다.
SQL 쿼리를 실행할 때 다음 오류가 발생할 수 있습니다.
<code>Column 'Column_Name' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.</code>
이 오류가 발생하는 이유는 다음과 같습니다.
데이터 그룹화
GROUP BY 절에는 동일한 컬럼 값을 가진 행을 그룹화하도록 지정합니다. 예를 들어 다음 쿼리에서는
<code>SELECT loc.LocationID, emp.EmpID FROM Employee AS emp FULL JOIN Location AS loc ON emp.LocationID = loc.LocationID GROUP BY loc.LocationID</code>
직원은 LocationID를 기준으로 그룹화됩니다. 그러나 GROUP BY 절에 없는 열(예: emp.EmpID)을 SELECT 목록에 포함하려고 하면 어떤 EmpID를 사용해야 하는지 결정할 수 없기 때문에 이 오류가 발생합니다. 각 그룹 값에 대해 선택됩니다.
집계 함수
SUM, COUNT, MAX, MIN)과 같은 집계 함수를 사용하여 그룹화된 데이터에 대한 요약 정보를 얻을 수 있습니다. . SELECT 목록에 집계되지 않은 열을 포함했지만 GROUP BY 절의 일부가 아닌 경우 해당 열에 집계 함수를 사용해야 합니다.
예를 들어 위치별 직원 수를 계산하려면 다음을 사용합니다.
<code>SELECT loc.LocationID, COUNT(emp.EmpID) FROM Employee AS emp FULL JOIN Location AS loc ON emp.LocationID = loc.LocationID GROUP BY loc.LocationID</code>
이렇게 하면 각 위치에 대해 개별 직원 ID 목록이 아닌 직원 수만 반환됩니다.
솔루션
이 오류를 해결하려면 다음을 수행해야 합니다.
위 내용은 내 SQL 쿼리에서 GROUP BY와 관련된 '선택 목록의 열이 잘못되었습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!