집계 쿼리에서 열 작업(Visual Database Tools)

적용 대상:SQL Server

집계 쿼리를 만들 때 쿼리 및 뷰 디자이너는 유효한 쿼리를 생성할 수 있도록 특정한 가정을 합니다. 예를 들어 집계 쿼리를 만들 때 출력할 데이터 열을 표시하면 쿼리 및 뷰 디자이너가 이 열을 자동으로 GROUP BY 절의 일부로 만들기 때문에 요약에서 개별 행의 내용을 실수로 표시할 염려가 없습니다.

그룹화 방법 사용

쿼리 및 뷰 디자이너는 아래 지침을 사용하여 열 작업을 수행합니다.

  • 그룹화 방법 옵션을 선택하거나 쿼리에 집계 함수를 추가하면 출력용으로 표시되거나 정렬에 사용된 모든 열이 GROUP BY 절에 자동으로 추가됩니다. 열이 이미 집계 함수의 일부인 경우 GROUP BY 절에 자동으로 추가되지 않습니다.

    특정 열이 GROUP BY 절의 일부가 되지 않도록 하려면 조건 창의 Group By 열에서 다른 옵션을 선택하여 수동으로 변경해야 합니다. 그러나 쿼리 및 뷰 디자이너는 쿼리가 실행되지 않을 수 있는 옵션을 선택하는 것을 방해하지 않습니다.

  • 조건 또는 SQL 창의 집계 함수에 쿼리 출력 열을 수동으로 추가하는 경우 쿼리 및 뷰 디자이너는 쿼리에서 다른 출력 열을 자동으로 제거하지 않습니다. 따라서 쿼리 출력에서 남아 있는 열을 제거하거나 GROUP BY 절 또는 집계 함수의 일부로 만들어야 합니다.

조건 창의 필터 열에 검색 조건을 입력하면 쿼리 및 뷰 디자이너는 다음 규칙을 따릅니다.

  • 집계 쿼리를 아직 지정하지 않아 표의 Group By 열이 표시되지 않는 경우 검색 조건이 WHERE 절에 놓입니다.

  • 이미 집계 쿼리에 있고 Group By 열에서 Where 옵션을 선택한 경우 검색 조건이 WHERE 절에 배치됩니다.

  • Group By 열에 Where 이외의 값이 포함되어 있으면 검색 조건이 HAVING 절에 배치됩니다.

HAVING 및 WHERE 절 사용

아래 원칙은 검색 조건으로 집계 쿼리에서 열을 참조할 수 있는 방법에 대해 설명합니다. 일반적으로 검색 조건의 열을 사용하여 요약해야 하는 행(WHERE 절)을 필터링하거나 최종 출력(HAVING 절)에 표시되는 그룹화된 결과를 확인할 수 있습니다.

  • 개별 데이터 열은 쿼리의 다른 위치에서 사용되는 방법에 따라 WHERE 또는 HAVING 절에 나타날 수 있습니다.

  • WHERE 절은 요약 및 그룹화를 위해 행의 하위 집합을 선택하는 데 사용되므로 그룹화가 완료되기 전에 적용됩니다. 따라서 데이터 열은 GROUP BY 절의 일부가 아니거나 집계 함수에 포함되지 않은 경우에도 WHERE 절에서 사용할 수 있습니다. 예를 들어 다음 문은 $10.00 이상의 비용이 드는 모든 제목을 선택하고 가격 평균을 냅니다.

    SELECT AVG(price)  
    FROM titles  
    WHERE price > 10  
    
  • GROUP BY 절 또는 집계 함수에서도 사용되는 열을 포함하는 검색 조건을 만들면 해당 검색 조건이 WHERE 절 또는 HAVING 절로 나타날 수 있으며, 이에 따라 사용자는 조건 작성 여부 및 시기를 결정할 수 있습니다. 예를 들어 다음 문은 각 출판사의 제목에 대한 평균 가격을 만든 다음 평균 가격이 $10.00보다 큰 출판사의 평균을 표시합니다.

    SELECT pub_id, AVG(price)  
    FROM titles  
    GROUP BY pub_id  
    HAVING (AVG(price) > 10)  
    
  • 검색 조건으로 집계 함수를 사용하는 경우 조건에는 요약이 포함되며 따라서 HAVING 절의 일부가 되어야 합니다.

참고 항목

쿼리 결과 요약(Visual Database Tools)
쿼리 결과 정렬 및 그룹화(Visual Database Tools)